From 364cbe7f4a92a11ebb7f4fbe48cf84862f151f32 Mon Sep 17 00:00:00 2001
From: Hong-Phuc Bui <hong-phuc.bui@htwsaar.de>
Date: Wed, 17 May 2023 13:04:30 +0200
Subject: [PATCH] add docs and dist to repo

---
 docs/assets/images/icons@2x.png              |    0 
 docs/media/usage_author.gif                  |    0 
 docs/media/usage_tool_developer.gif          |    0 
 package-lock.json                            | 14402 +++++++++++++++++
 docs/assets/images/widgets@2x.png            |    0 
 docs/assets/js/main.js                       |    1 
 docs/assets/js/search.js                     |    3 
 docs/interfaces/mathcoach.file.html          | 2855 +++
 docs/modules/mathcoach.html                  | 2789 +++
 docs/interfaces/mathcoach.api.html           | 2866 +++
 docs/classes/helpers.inmemorystorage.html    | 2987 +++
 docs/interfaces/mathcoach.ideapi.html        | 2898 +++
 docs/interfaces/mathcoach.navigatorapi.html  | 2880 +++
 dist/es6/Helpers.js.map                      |    1 
 docs/assets/images/icons.png                 |    0 
 docs/interfaces/mathcoach.filesystemapi.html | 2878 +++
 dist/lib/mathcoach-ide-tool-utils.js.map     |    1 
 dist/es6/MathCoach.js.map                    |    1 
 dist/es6/index.d.ts                          |    2 
 docs/modules/helpers.html                    | 2949 +++
 docs/assets/css/main.css                     | 2683 +++
 dist/es6/MathCoach.js                        |    1 
 dist/lib/mathcoach-ide-tool-utils.js         |    8 
 docs/modules/__global.html                   | 2780 +++
 dist/es6/index.js.map                        |    1 
 docs/globals.html                            | 3121 +++
 dist/es6/MathCoach.d.ts                      |  178 
 docs/assets/images/widgets.png               |    0 
 dist/es6/index.js                            |    2 
 dist/es6/Helpers.d.ts                        |   84 
 dist/es6/Helpers.js                          |  224 
 docs/index.html                              | 3122 +++
 32 files changed, 49,698 insertions(+), 19 deletions(-)

diff --git a/dist/es6/Helpers.d.ts b/dist/es6/Helpers.d.ts
new file mode 100644
index 0000000..e5f920e
--- /dev/null
+++ b/dist/es6/Helpers.d.ts
@@ -0,0 +1,84 @@
+import { MathCoach } from "./MathCoach";
+/**
+ * Hilfsfunktionen für Werkzeug-Entwickler. Diese werden nicht durch die `ide-lib.js`
+ * ausgeliefert!
+ */
+export declare namespace Helpers {
+    /**
+     * Bildet die MathCoach API nach, sodass diese auch Offline (ohne IDE)
+     * verfügbar ist. (Siehe auch `createStorageBasedApi`).
+     *
+     * **Hinweis**: Wenn die echte MathCoach-API der IDE verfügbar ist, hat der Aufruf
+     * dieser Funktion keinen Seiteneffekt.
+     *
+     * Anwendungsbeispiel
+     *
+     *      import { Helpers } from "@mathcoach/ide-api";
+     *      Helpers.enableOfflineUsageIfNecessary();
+     *      MC.isReady() // use the api
+     *
+     * @param contextFileExtension Datei-Erweiterung der Kontext-Datei (Das Werkzeug soll
+     * jedoch unabhängig von der Endung arbeiten können)
+     * @returns Gibt `true` zurück, wenn die Offline-Funktionalität aktiviert
+     * wurde, andernfalls `false`
+     */
+    function enableOfflineUsageIfNecessary(contextFileExtension?: string): boolean;
+    /**
+     * Implementierung der MathCoach API zu Testzwecken.
+     *
+     * Das Dateisystem wird durch einen Storage implementiert. Einige Features der
+     * IDE (beispielsweise der Navigator) sind nicht verfügbar und führen keine Aktionen
+     * durch. Alle Aktionen werden in der Browser-Console geloggt.
+     *
+     * Anwendungsbeispiel
+     *
+     *      import { Helpers } from "@mathcoach/ide-api";
+     *      const _MC = Helpers.createStorageBasedApi();
+     *      const contextFile = await _MC.ide.getContextFile() // use the api
+     *
+     * @param contextFileExtension Die Datei-Erweiterung der Kontext-Datei. Das Werkzeug sollte
+     *      unabhängig davon implementiert sein, da der Administrator der MathCoach IDE unter
+     *      Umständen auf eine Alternative ausweichen muss.
+     * @param storage Storage-Implementierung, die zum Speichern von Dateien verwendet werden
+     *      soll. Standardmäßig wird der `LocalStorage` des Browsers verwendet
+     *      bzw. falls nicht verfügbar der `InMemoryStorage`.
+     *
+     */
+    function createStorageBasedApi(contextFileExtension?: string, storage?: Storage): MathCoach.Api;
+    /**
+     * Type Guard, der prüft, ob es sich um eine gültige `MathCoach.File`-Referenz handelt.
+     *
+     * @param maybeFile Ein beliebiges Objekt, das geprüft werden soll
+     */
+    function isFile(maybeFile: any): maybeFile is MathCoach.File;
+    /**
+     * Bildet die Kontext-Datei auf eine Aufgaben-Datei mit selben Namen ab.
+     *
+     * Ein Werkzeug speichert sein Datenmodell in der sogenannten Kontext-Datei. Soll
+     * eine MathCoach-Aufgabe generiert werden, ist es sinnvoll, wenn die Aufgaben-Datei
+     * den selben Namen wie die Kontext-Datei trägt (natürlich mit anderer Dateiendung).
+     *
+     * Beispielsweise wird eine Dateireferenz mit dem Pfad `"/path/to/myExercise.mcq.json"`
+     * auf eine Dateireferenz mit dem Pfad `"/path/to/myExercise.groovy"` abgebildet.
+     *
+     * Anwendungsbeispiel
+     *
+     *      import { Helpers } from "@mathcoach/ide-api";
+     *      const contextFile: MathCoach.File = await MC.ide.getContextFile();
+     *      const exerciseFile: MathCoach.File = Helpers.contextFileToExerciseFile(contextFile);
+     */
+    function contextFileToExerciseFile(contextFile: MathCoach.File): MathCoach.File;
+    /**
+     * Storage auf Basis einer Map. Kann z.B. bei Unit-Tests verwendet
+     * werden, beid denen der LocalStorage nicht verfügbar ist.
+     */
+    class InMemoryStorage implements Storage {
+        private readonly items;
+        get length(): number;
+        clear(): void;
+        getItem(key: string): string | null;
+        key(_index: number): string | null;
+        removeItem(key: string): void;
+        setItem(key: string, value: string): void;
+    }
+}
diff --git a/dist/es6/Helpers.js b/dist/es6/Helpers.js
new file mode 100644
index 0000000..7d0007d
--- /dev/null
+++ b/dist/es6/Helpers.js
@@ -0,0 +1,224 @@
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+};
+/**
+ * Hilfsfunktionen für Werkzeug-Entwickler. Diese werden nicht durch die `ide-lib.js`
+ * ausgeliefert!
+ */
+export var Helpers;
+(function (Helpers) {
+    /**
+     * Bildet die MathCoach API nach, sodass diese auch Offline (ohne IDE)
+     * verfügbar ist. (Siehe auch `createStorageBasedApi`).
+     *
+     * **Hinweis**: Wenn die echte MathCoach-API der IDE verfügbar ist, hat der Aufruf
+     * dieser Funktion keinen Seiteneffekt.
+     *
+     * Anwendungsbeispiel
+     *
+     *      import { Helpers } from "@mathcoach/ide-api";
+     *      Helpers.enableOfflineUsageIfNecessary();
+     *      MC.isReady() // use the api
+     *
+     * @param contextFileExtension Datei-Erweiterung der Kontext-Datei (Das Werkzeug soll
+     * jedoch unabhängig von der Endung arbeiten können)
+     * @returns Gibt `true` zurück, wenn die Offline-Funktionalität aktiviert
+     * wurde, andernfalls `false`
+     */
+    function enableOfflineUsageIfNecessary(contextFileExtension = "dummy.json") {
+        if (typeof MC === "undefined") {
+            console.warn("you are offline - offline api is used");
+            const WINDOW = (typeof window === "undefined") ? {} : window;
+            WINDOW.MC = createStorageBasedApi(contextFileExtension);
+            return true;
+        }
+        else {
+            return false;
+        }
+    }
+    Helpers.enableOfflineUsageIfNecessary = enableOfflineUsageIfNecessary;
+    /**
+     * Implementierung der MathCoach API zu Testzwecken.
+     *
+     * Das Dateisystem wird durch einen Storage implementiert. Einige Features der
+     * IDE (beispielsweise der Navigator) sind nicht verfügbar und führen keine Aktionen
+     * durch. Alle Aktionen werden in der Browser-Console geloggt.
+     *
+     * Anwendungsbeispiel
+     *
+     *      import { Helpers } from "@mathcoach/ide-api";
+     *      const _MC = Helpers.createStorageBasedApi();
+     *      const contextFile = await _MC.ide.getContextFile() // use the api
+     *
+     * @param contextFileExtension Die Datei-Erweiterung der Kontext-Datei. Das Werkzeug sollte
+     *      unabhängig davon implementiert sein, da der Administrator der MathCoach IDE unter
+     *      Umständen auf eine Alternative ausweichen muss.
+     * @param storage Storage-Implementierung, die zum Speichern von Dateien verwendet werden
+     *      soll. Standardmäßig wird der `LocalStorage` des Browsers verwendet
+     *      bzw. falls nicht verfügbar der `InMemoryStorage`.
+     *
+     */
+    function createStorageBasedApi(contextFileExtension = "dummy.json", storage = (typeof localStorage === "undefined") ? new InMemoryStorage() : localStorage) {
+        const fileIdentifier = (file) => `mock-file://${file.owner}@${file.part}/${file.path}`;
+        const traceMethod = (method, args) => console.log(["[MC MOCK API]", " ", method, "(", (args ? args : [""]).join(","), ")"].join(""));
+        const runtimeCheck = (errorMessage, isInvalid) => {
+            return (paramName, value, optional = false) => {
+                if (value === undefined) {
+                    if (optional) {
+                        return;
+                    }
+                    else {
+                        throw new Error(`missing parameter '${paramName}'`);
+                    }
+                }
+                if (isInvalid(value)) {
+                    throw new Error(`parameter '${paramName}' is invalid: ${errorMessage}`);
+                }
+            };
+        };
+        const runtimeCheckString = runtimeCheck("not a string", v => typeof v !== "string");
+        const runtimeCheckBoolean = runtimeCheck("not a boolean", v => typeof v !== "boolean");
+        const runtimeCheckFile = runtimeCheck("not a valid file", v => !isFile(v));
+        const api = {
+            ide: {
+                getContextFile() {
+                    return __awaiter(this, void 0, void 0, function* () {
+                        traceMethod("MC.ide.getContextFile");
+                        return {
+                            owner: "jdoe",
+                            path: `/file.${contextFileExtension}`,
+                            part: "vfs"
+                        };
+                    });
+                },
+                getUserName() {
+                    return __awaiter(this, void 0, void 0, function* () {
+                        traceMethod("MC.ide.getUserName");
+                        return "jdoe";
+                    });
+                },
+                fs: {
+                    readFile(file) {
+                        return __awaiter(this, void 0, void 0, function* () {
+                            traceMethod("MC.ide.fs.readFile", [JSON.stringify(file)]);
+                            runtimeCheckFile("file", file);
+                            return storage.getItem(fileIdentifier(file)) || "";
+                        });
+                    },
+                    writeFile(file, text) {
+                        return __awaiter(this, void 0, void 0, function* () {
+                            traceMethod("MC.ide.fs.writeFile", [JSON.stringify(file), JSON.stringify(`...${text.length} chars...`)]);
+                            runtimeCheckFile("file", file);
+                            runtimeCheckString("text", text);
+                            return storage.setItem(fileIdentifier(file), text);
+                        });
+                    }
+                },
+                navigator: {
+                    navigateTo(link, forceOpen) {
+                        return __awaiter(this, void 0, void 0, function* () {
+                            traceMethod("MC.ide.navigator.navigateTo", [JSON.stringify(link), JSON.stringify(forceOpen ? true : false)]);
+                            runtimeCheckString("link", link);
+                            runtimeCheckBoolean("forceOpen", forceOpen, true);
+                        });
+                    },
+                    navigateToExercise(file, forceOpen) {
+                        return __awaiter(this, void 0, void 0, function* () {
+                            traceMethod("MC.ide.navigator.navigateToExercise", [JSON.stringify(file), JSON.stringify(forceOpen ? true : false)]);
+                            runtimeCheckFile("file", file);
+                            runtimeCheckBoolean("forceOpen", forceOpen, true);
+                        });
+                    }
+                }
+            },
+            isReady() {
+                return __awaiter(this, void 0, void 0, function* () {
+                    traceMethod("MC.isReady");
+                    return true;
+                });
+            }
+        };
+        return api;
+    }
+    Helpers.createStorageBasedApi = createStorageBasedApi;
+    /**
+     * Type Guard, der prüft, ob es sich um eine gültige `MathCoach.File`-Referenz handelt.
+     *
+     * @param maybeFile Ein beliebiges Objekt, das geprüft werden soll
+     */
+    function isFile(maybeFile) {
+        return (maybeFile ? true : false)
+            && (maybeFile.owner ? true : false) && (typeof maybeFile.owner === "string")
+            && (maybeFile.part ? true : false) && (typeof maybeFile.part === "string")
+            && (maybeFile.part === "vfs" || maybeFile.part === "www")
+            && (maybeFile.path ? true : false) && (typeof maybeFile.path === "string")
+            && (maybeFile.path.indexOf("/") === 0);
+    }
+    Helpers.isFile = isFile;
+    /**
+     * Bildet die Kontext-Datei auf eine Aufgaben-Datei mit selben Namen ab.
+     *
+     * Ein Werkzeug speichert sein Datenmodell in der sogenannten Kontext-Datei. Soll
+     * eine MathCoach-Aufgabe generiert werden, ist es sinnvoll, wenn die Aufgaben-Datei
+     * den selben Namen wie die Kontext-Datei trägt (natürlich mit anderer Dateiendung).
+     *
+     * Beispielsweise wird eine Dateireferenz mit dem Pfad `"/path/to/myExercise.mcq.json"`
+     * auf eine Dateireferenz mit dem Pfad `"/path/to/myExercise.groovy"` abgebildet.
+     *
+     * Anwendungsbeispiel
+     *
+     *      import { Helpers } from "@mathcoach/ide-api";
+     *      const contextFile: MathCoach.File = await MC.ide.getContextFile();
+     *      const exerciseFile: MathCoach.File = Helpers.contextFileToExerciseFile(contextFile);
+     */
+    function contextFileToExerciseFile(contextFile) {
+        if (isFile(contextFile)) {
+            let exerciseFile = {
+                part: contextFile.part,
+                owner: contextFile.owner,
+                path: contextFile.path.split(".")[0] + ".groovy"
+            };
+            return exerciseFile;
+        }
+        else {
+            throw new Error("no valid file reference given, expected object like {owner:'demo', part:'vfs'|'www', path: '/...'}");
+        }
+    }
+    Helpers.contextFileToExerciseFile = contextFileToExerciseFile;
+    /**
+     * Storage auf Basis einer Map. Kann z.B. bei Unit-Tests verwendet
+     * werden, beid denen der LocalStorage nicht verfügbar ist.
+     */
+    class InMemoryStorage {
+        constructor() {
+            this.items = new Map();
+        }
+        get length() {
+            return this.items.size;
+        }
+        clear() {
+            this.items.clear();
+        }
+        getItem(key) {
+            const value = this.items.get(key);
+            return value ? value : null;
+        }
+        key(_index) {
+            throw new Error("InMemoryStorage: key function is not implemented now");
+        }
+        removeItem(key) {
+            this.items.delete(key);
+        }
+        setItem(key, value) {
+            this.items.set(key, value);
+        }
+    }
+    Helpers.InMemoryStorage = InMemoryStorage;
+})(Helpers || (Helpers = {}));
+//# sourceMappingURL=Helpers.js.map
\ No newline at end of file
diff --git a/dist/es6/Helpers.js.map b/dist/es6/Helpers.js.map
new file mode 100644
index 0000000..e4724d6
--- /dev/null
+++ b/dist/es6/Helpers.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Helpers.js","sourceRoot":"","sources":["../../src/Helpers.ts"],"names":[],"mappings":";;;;;;;;;AAEA;;;GAGG;AACH,MAAM,KAAW,OAAO,CAsMvB;AAtMD,WAAiB,OAAO;IAEpB;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAgB,6BAA6B,CAAC,uBAA+B,YAAY;QACrF,IAAI,OAAO,EAAE,KAAK,WAAW,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAAS,CAAC,CAAC,CAAC,MAAM,CAAC;YACpE,MAAM,CAAC,EAAE,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IATe,qCAA6B,gCAS5C,CAAA;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,SAAgB,qBAAqB,CACjC,uBAA+B,YAAY,EAC3C,UAAmB,CAAC,OAAO,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,YAAY;QAE/F,MAAM,cAAc,GAAG,CAAC,IAAoB,EAAE,EAAE,CAAC,eAAe,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACvG,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACrJ,MAAM,YAAY,GAAG,CAAC,YAAoB,EAAE,SAAkC,EAAE,EAAE;YAC9E,OAAO,CAAC,SAAiB,EAAE,KAAU,EAAE,WAAoB,KAAK,EAAE,EAAE;gBAChE,IAAI,KAAK,KAAK,SAAS,EAAE;oBACrB,IAAI,QAAQ,EAAE;wBACV,OAAO;qBACV;yBAAM;wBACH,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,GAAG,CAAC,CAAC;qBACvD;iBACJ;gBACD,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE;oBAClB,MAAM,IAAI,KAAK,CAAC,cAAc,SAAS,iBAAiB,YAAY,EAAE,CAAC,CAAC;iBAC3E;YACL,CAAC,CAAA;QACL,CAAC,CAAA;QACD,MAAM,kBAAkB,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;QACpF,MAAM,mBAAmB,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC;QACvF,MAAM,gBAAgB,GAAG,YAAY,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAkB;YACvB,GAAG,EAAE;gBACK,cAAc;;wBAChB,WAAW,CAAC,uBAAuB,CAAC,CAAC;wBACrC,OAAO;4BACH,KAAK,EAAE,MAAM;4BACb,IAAI,EAAE,SAAS,oBAAoB,EAAE;4BACrC,IAAI,EAAE,KAAK;yBACd,CAAA;oBACL,CAAC;iBAAA;gBACK,WAAW;;wBACb,WAAW,CAAC,oBAAoB,CAAC,CAAC;wBAClC,OAAO,MAAM,CAAA;oBACjB,CAAC;iBAAA;gBACD,EAAE,EAAE;oBACM,QAAQ,CAAC,IAAoB;;4BAC/B,WAAW,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAC1D,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;wBACvD,CAAC;qBAAA;oBACK,SAAS,CAAC,IAAoB,EAAE,IAAY;;4BAC9C,WAAW,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC;4BACzG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BAC/B,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACjC,OAAO,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;wBACvD,CAAC;qBAAA;iBACJ;gBACD,SAAS,EAAE;oBACD,UAAU,CAAC,IAAY,EAAE,SAAmB;;4BAC9C,WAAW,CAAC,6BAA6B,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BAC7G,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BACjC,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBACtD,CAAC;qBAAA;oBACK,kBAAkB,CAAC,IAAoB,EAAE,SAAmB;;4BAC9D,WAAW,CAAC,qCAAqC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACrH,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;4BAC/B,mBAAmB,CAAC,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;wBACtD,CAAC;qBAAA;iBACJ;aACJ;YACK,OAAO;;oBACT,WAAW,CAAC,YAAY,CAAC,CAAC;oBAC1B,OAAO,IAAI,CAAC;gBAChB,CAAC;aAAA;SACJ,CAAC;QACF,OAAO,GAAG,CAAC;IACf,CAAC;IArEe,6BAAqB,wBAqEpC,CAAA;IAGD;;;;OAIG;IACH,SAAgB,MAAM,CAAC,SAAc;QACjC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;eAC1B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC;eACzE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC;eACvE,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC;eACtD,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC;eACvE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,CAAC;IAPe,cAAM,SAOrB,CAAA;IAGD;;;;;;;;;;;;;;;OAeG;IACH,SAAgB,yBAAyB,CAAC,WAA2B;QACjE,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE;YACrB,IAAI,YAAY,GAAmB;gBAC/B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;aACnD,CAAC;YACF,OAAO,YAAY,CAAC;SACvB;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,oGAAoG,CAAC,CAAA;SACxH;IACL,CAAC;IAXe,iCAAyB,4BAWxC,CAAA;IAED;;;OAGG;IACH,MAAa,eAAe;QAA5B;YAEqB,UAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;QAsB5D,CAAC;QApBG,IAAI,MAAM;YACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC3B,CAAC;QACD,KAAK;YACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,CAAC,GAAW;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC;QACD,GAAG,CAAC,MAAc;YACd,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC5E,CAAC;QACD,UAAU,CAAC,GAAW;YAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,CAAC,GAAW,EAAE,KAAa;YAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;KAEJ;IAxBY,uBAAe,kBAwB3B,CAAA;AAEL,CAAC,EAtMgB,OAAO,KAAP,OAAO,QAsMvB"}
\ No newline at end of file
diff --git a/dist/es6/MathCoach.d.ts b/dist/es6/MathCoach.d.ts
new file mode 100644
index 0000000..c289e98
--- /dev/null
+++ b/dist/es6/MathCoach.d.ts
@@ -0,0 +1,178 @@
+declare global {
+    /**
+     * Wenn die Bibliothek zur Erweiterung der IDE eingebunden (`ide-lib.js`) wurde,
+     * steht diese globale Variable mit Zugang zur öffentlichen Schnittstelle
+     * zur Verfügung.
+     */
+    const MC: MathCoach.Api;
+}
+/**
+ * Der MathCoach-Namensraum ist die Sammelstelle für alle öffentlichen Schnittstellen.
+ * Somit können auch externe Module (z.B. grafische Editoren) typsicher erstellt werden.
+ *
+ * Als Einstiegspunkt dient das interface `MathCoach.Api` - eine Implementierung dieser Schnittstelle
+ * wird von der IDE (siehe `ide-lib.js`) bereitgestellt und kann über die globale Variable
+ * `MC` zugegriffen werden.
+ *
+ * Beispiel:
+ *
+ *     const isReady = await MC.ide.isReady(); // true oder false
+ */
+export declare namespace MathCoach {
+    /**
+     * Als Einstiegspunkt dient das interface `MathCoach.Api` - eine Implementierung dieser Schnittstelle
+     * wird von der IDE (siehe `ide-lib.js`) bereitgestellt und kann über die globale Variable
+     * `MC` zugegriffen werden.
+     *
+     *
+     * Beispiel:
+     *
+     *     const isReady = await MC.ide.isReady(); // true oder false
+     */
+    interface Api {
+        /**
+         * Die Schnittstelle zur Entwicklungsumgebung (IDE) von MathCoach.
+         */
+        readonly ide: IdeApi;
+        /**
+         * Prüft, ob die API einsatzbereit ist. Dies sollte einmalig, beim Start des Werkzeugs,
+         * geprüft werden. Dabei bedeutet der Rückgabewert `true`, dass das Werkzeug durch
+         * die IDE gestartet wurde und die Kommunikation möglich ist. `false` bedeutet, dass
+         * das Werkzeug nicht durch die IDE gestartet wurde.
+         *
+         * Somit wäre es möglich ein Tool offlinefähig zu machen, indem es ggf. eine eigene
+         * Implementierung der MathCoach-API (beispielsweise unter Verwendung des LocalStorage
+         * zum Speichern von Dateien) verwendet.
+         *
+         * Anwendungsbeispiel (Prüft zusätzlich, ob die globale `MC`-Variable verfügbar ist - also
+         * die `ide-lib.js` korrekt eingebunden und geladen wurde):
+         *
+         *      let isReady = (typeof MC !== "undefined") ? await MC.isReady() : false;
+         *      if(isReady){
+         *          // MathCoach-API is ready to use!
+         *      }else{
+         *          // MathCoach-API is not ready...
+         *      }
+         *
+         *
+         */
+        isReady(): Promise<boolean>;
+    }
+    /**
+    * Schnittstelle zur IDE von MathCoach
+    */
+    interface IdeApi {
+        /**
+         * Gibt den Namen des aktuellen Benutzers zurück, der mit dem Werkzeug arbeitet.
+         *
+         * Anwendungsbeisipiel:
+         *
+         *      let user = await MC.ide.getUserName();
+         *
+         */
+        getUserName(): Promise<string>;
+        /**
+         * Gibt den Verweis auf die Datei zurück, mit der das Entwicklerwerkzeug gestartet wurde.
+         *
+         * Anwendungsbeispiel:
+         *
+         *      let file = await MC.ide.getContextFile();
+         *      let { owner, path, part } = file;
+         */
+        getContextFile(): Promise<File>;
+        /**
+         * Einstiegspunkt der Dateisystem-Schnittstelle (z.B. um Dateien zu lesen und zu schreiben)
+         */
+        readonly fs: FileSystemApi;
+        /**
+         * Einstiegspunkt der Vorschau-Schnittstelle (z.B. um generierte Aufgaben zu starten)
+         */
+        readonly navigator: NavigatorApi;
+    }
+    /**
+     * Schnittstelle zur Navigation der Vorschau
+     */
+    interface NavigatorApi {
+        /**
+         * Navigiert die Vorschau zu einem Link.
+         *
+         * Anwendungsbeispiel:
+         *
+         *      await MC.ide.navigator.navigateTo("/mathcoach/www/yourName/readme.html", true)
+         *
+         *
+         * @param link Web URL (z.B. zu einer Datei im WWW-Verzeichnis oder einer MathCoach-Aufgabe)
+         * @param forceOpen `true` um das Anzeigen der Vorschau zu erzwingen, `false` um nur bei bereits geöffneter Vorschau zu navigieren.
+         */
+        navigateTo(link: string, forceOpen?: boolean): Promise<void>;
+        /**
+         * Navigiert die Vorschau zu einer MathCoach-Aufgabe.
+         * Hinweis: Die Datei muss im `vfs`-Teil des Dateisystems liegen und
+         * eine ausführbare MathCoach-Aufgabe sein (z.B. eine groovy-Datei).
+         *
+         * Anwendungsbeispiel:
+         *
+         *      let file = { part: "vfs", owner:"yourName", path: "/myExercise.groovy" }
+         *      await MC.ide.navigator.navigateToExercise(file)
+         *
+         * @param file Datei-Verweis
+         */
+        navigateToExercise(file: MathCoach.File, forceOpen?: boolean): Promise<void>;
+    }
+    /**
+     * Schnittstelle zum Dateisystem
+     */
+    interface FileSystemApi {
+        /**
+         * Liest eine Datei und gibt den Textinhalt zurück.
+         *
+         * Anwendungsbeispiel: Lesen der Datei, mit dem das Werkzeug gestartet wurde
+         *
+         *      let file = await MC.ide.getContextFile();
+         *      let text = await MC.ide.fs.readFile(file);
+         *      // do something with the text, e.g. JSON.parse(text)
+         *
+         * @param file Verweis auf die Datei
+         */
+        readFile(file: File): Promise<string>;
+        /**
+         * Schreibt Text in eine Datei.
+         *
+         * Anwendungsbeispiel: Schreiben der Datei, mit dem das Werkzeug gestartet wurde
+         *
+         *      let file = await MC.ide.getContextFile(); // some file reference
+         *      let text = "some text"; // or JSON.stringify(yourDataContainer)
+         *      await MC.ide.fs.writeFile(file,text);
+         *
+         * @param file Verweis auf die Datei
+         * @param text Der neue Inhalt der Datei
+         */
+        writeFile(file: File, text: string): Promise<void>;
+    }
+    /**
+     * Eindeutiger Verweis auf eine Datei.
+     *
+     * Anwendungsbeispiel:
+     *
+     *      let user = await MC.ide.getUserName(); // oder von einem anderen File-Objekt abgfragen...
+     *      let file = { owner: user, part: "vfs", path:"/myExercise.groovy" }
+     *
+     * Siehe auch: `MC.ide.getContextFile()`
+     *
+     */
+    interface File {
+        /**
+         * Name des Besitzers. Hinweis: Der Besitzter kann vom angemeldeten
+         * Benutzer abweichen (z.B. wenn das Teilen von Inhalten zukünftig unterstützt wird)
+         */
+        owner: string;
+        /**
+         * Liegt die Datei im öffentlichen (www) oder verborgenen (vfs) Dateisystem?
+         */
+        part: "vfs" | "www";
+        /**
+         * Absoluter Pfad zur Datei. Mmuss immer mit einem Slash beginnen.
+         */
+        path: string;
+    }
+}
diff --git a/dist/es6/MathCoach.js b/dist/es6/MathCoach.js
new file mode 100644
index 0000000..c361022
--- /dev/null
+++ b/dist/es6/MathCoach.js
@@ -0,0 +1 @@
+//# sourceMappingURL=MathCoach.js.map
\ No newline at end of file
diff --git a/dist/es6/MathCoach.js.map b/dist/es6/MathCoach.js.map
new file mode 100644
index 0000000..6a28f3c
--- /dev/null
+++ b/dist/es6/MathCoach.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"MathCoach.js","sourceRoot":"","sources":["../../src/MathCoach.ts"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/dist/es6/index.d.ts b/dist/es6/index.d.ts
new file mode 100644
index 0000000..032a1c1
--- /dev/null
+++ b/dist/es6/index.d.ts
@@ -0,0 +1,2 @@
+export * from "./MathCoach";
+export * from "./Helpers";
diff --git a/dist/es6/index.js b/dist/es6/index.js
new file mode 100644
index 0000000..26cc300
--- /dev/null
+++ b/dist/es6/index.js
@@ -0,0 +1,2 @@
+export * from "./Helpers";
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/dist/es6/index.js.map b/dist/es6/index.js.map
new file mode 100644
index 0000000..a54b864
--- /dev/null
+++ b/dist/es6/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAA"}
\ No newline at end of file
diff --git a/dist/lib/mathcoach-ide-tool-utils.js b/dist/lib/mathcoach-ide-tool-utils.js
new file mode 100644
index 0000000..0c57dac
--- /dev/null
+++ b/dist/lib/mathcoach-ide-tool-utils.js
@@ -0,0 +1,8 @@
+parcelRequire=function(e,r,t,n){var i,o="function"==typeof parcelRequire&&parcelRequire,u="function"==typeof require&&require;function f(t,n){if(!r[t]){if(!e[t]){var i="function"==typeof parcelRequire&&parcelRequire;if(!n&&i)return i(t,!0);if(o)return o(t,!0);if(u&&"string"==typeof t)return u(t);var c=new Error("Cannot find module '"+t+"'");throw c.code="MODULE_NOT_FOUND",c}p.resolve=function(r){return e[t][1][r]||r},p.cache={};var l=r[t]=new f.Module(t);e[t][0].call(l.exports,p,l,l.exports,this)}return r[t].exports;function p(e){return f(p.resolve(e))}}f.isParcelRequire=!0,f.Module=function(e){this.id=e,this.bundle=f,this.exports={}},f.modules=e,f.cache=r,f.parent=o,f.register=function(r,t){e[r]=[function(e,r){r.exports=t},{}]};for(var c=0;c<t.length;c++)try{f(t[c])}catch(e){i||(i=e)}if(t.length){var l=f(t[t.length-1]);"object"==typeof exports&&"undefined"!=typeof module?module.exports=l:"function"==typeof define&&define.amd?define(function(){return l}):n&&(this[n]=l)}if(parcelRequire=f,i)throw i;return f}({"TGp0":[function(require,module,exports) {
+"use strict";Object.defineProperty(exports,"__esModule",{value:!0});
+},{}],"R81e":[function(require,module,exports) {
+"use strict";var e,t=this&&this.__awaiter||function(e,t,i,n){return new(i||(i=Promise))(function(r,o){function s(e){try{f(n.next(e))}catch(t){o(t)}}function a(e){try{f(n.throw(e))}catch(t){o(t)}}function f(e){var t;e.done?r(e.value):(t=e.value,t instanceof i?t:new i(function(e){e(t)})).then(s,a)}f((n=n.apply(e,t||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),function(e){function i(e="dummy.json",i=("undefined"==typeof localStorage?new r:localStorage)){const o=e=>`mock-file://${e.owner}@${e.part}/${e.path}`,s=(e,t)=>console.log(["[MC MOCK API]"," ",e,"(",(t||[""]).join(","),")"].join("")),a=(e,t)=>(i,n,r=!1)=>{if(void 0===n){if(r)return;throw new Error(`missing parameter '${i}'`)}if(t(n))throw new Error(`parameter '${i}' is invalid: ${e}`)},f=a("not a string",e=>"string"!=typeof e),u=a("not a boolean",e=>"boolean"!=typeof e),d=a("not a valid file",e=>!n(e));return{ide:{getContextFile(){return t(this,void 0,void 0,function*(){return s("MC.ide.getContextFile"),{owner:"jdoe",path:`/file.${e}`,part:"vfs"}})},getUserName(){return t(this,void 0,void 0,function*(){return s("MC.ide.getUserName"),"jdoe"})},fs:{readFile(e){return t(this,void 0,void 0,function*(){return s("MC.ide.fs.readFile",[JSON.stringify(e)]),d("file",e),i.getItem(o(e))||""})},writeFile(e,n){return t(this,void 0,void 0,function*(){return s("MC.ide.fs.writeFile",[JSON.stringify(e),JSON.stringify(`...${n.length} chars...`)]),d("file",e),f("text",n),i.setItem(o(e),n)})}},navigator:{navigateTo(e,i){return t(this,void 0,void 0,function*(){s("MC.ide.navigator.navigateTo",[JSON.stringify(e),JSON.stringify(!!i)]),f("link",e),u("forceOpen",i,!0)})},navigateToExercise(e,i){return t(this,void 0,void 0,function*(){s("MC.ide.navigator.navigateToExercise",[JSON.stringify(e),JSON.stringify(!!i)]),d("file",e),u("forceOpen",i,!0)})}}},isReady(){return t(this,void 0,void 0,function*(){return s("MC.isReady"),!0})}}}function n(e){return!(!e||!e.owner||"string"!=typeof e.owner||!e.part||"string"!=typeof e.part||"vfs"!==e.part&&"www"!==e.part||!e.path||"string"!=typeof e.path||0!==e.path.indexOf("/"))}e.enableOfflineUsageIfNecessary=function(e="dummy.json"){if("undefined"==typeof MC)return console.warn("you are offline - offline api is used"),("undefined"==typeof window?{}:window).MC=i(e),!0;return!1},e.createStorageBasedApi=i,e.isFile=n,e.contextFileToExerciseFile=function(e){if(n(e))return{part:e.part,owner:e.owner,path:e.path.split(".")[0]+".groovy"};throw new Error("no valid file reference given, expected object like {owner:'demo', part:'vfs'|'www', path: '/...'}")};class r{constructor(){this.items=new Map}get length(){return this.items.size}clear(){this.items.clear()}getItem(e){const t=this.items.get(e);return t||null}key(e){throw new Error("InMemoryStorage: key function is not implemented now")}removeItem(e){this.items.delete(e)}setItem(e,t){this.items.set(e,t)}}e.InMemoryStorage=r}(e=exports.Helpers||(exports.Helpers={}));
+},{}],"QCba":[function(require,module,exports) {
+"use strict";function e(e){for(var r in e)exports.hasOwnProperty(r)||(exports[r]=e[r])}Object.defineProperty(exports,"__esModule",{value:!0}),e(require("./MathCoach")),e(require("./Helpers"));
+},{"./MathCoach":"TGp0","./Helpers":"R81e"}]},{},["QCba"], "MC_IDE_TOOL_UTILS")
+//# sourceMappingURL=mathcoach-ide-tool-utils.js.map
\ No newline at end of file
diff --git a/dist/lib/mathcoach-ide-tool-utils.js.map b/dist/lib/mathcoach-ide-tool-utils.js.map
new file mode 100644
index 0000000..3517877
--- /dev/null
+++ b/dist/lib/mathcoach-ide-tool-utils.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["Helpers.ts","index.ts"],"names":[],"mappings":"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","file":"mathcoach-ide-tool-utils.js","sourceRoot":"../../src","sourcesContent":["import { MathCoach } from \"./MathCoach\"; \n \n/**\n * Hilfsfunktionen für Werkzeug-Entwickler. Diese werden nicht durch die `ide-lib.js` \n * ausgeliefert!\n */\nexport namespace Helpers {\n\n    /**\n     * Bildet die MathCoach API nach, sodass diese auch Offline (ohne IDE) \n     * verfügbar ist. (Siehe auch `createStorageBasedApi`).\n     * \n     * **Hinweis**: Wenn die echte MathCoach-API der IDE verfügbar ist, hat der Aufruf \n     * dieser Funktion keinen Seiteneffekt.\n     * \n     * Anwendungsbeispiel \n     * \n     *      import { Helpers } from \"@mathcoach/ide-api\";\n     *      Helpers.enableOfflineUsageIfNecessary();\n     *      MC.isReady() // use the api\n     * \n     * @param contextFileExtension Datei-Erweiterung der Kontext-Datei (Das Werkzeug soll \n     * jedoch unabhängig von der Endung arbeiten können)\n     * @returns Gibt `true` zurück, wenn die Offline-Funktionalität aktiviert \n     * wurde, andernfalls `false`\n     */\n    export function enableOfflineUsageIfNecessary(contextFileExtension: string = \"dummy.json\"): boolean {\n        if (typeof MC === \"undefined\") {\n            console.warn(\"you are offline - offline api is used\");\n            const WINDOW = (typeof window === \"undefined\") ? {} as any : window;\n            WINDOW.MC = createStorageBasedApi(contextFileExtension);\n            return true;\n        } else {\n            return false;\n        }\n    }\n\n    /**\n     * Implementierung der MathCoach API zu Testzwecken.\n     * \n     * Das Dateisystem wird durch einen Storage implementiert. Einige Features der \n     * IDE (beispielsweise der Navigator) sind nicht verfügbar und führen keine Aktionen \n     * durch. Alle Aktionen werden in der Browser-Console geloggt.\n     * \n     * Anwendungsbeispiel\n     * \n     *      import { Helpers } from \"@mathcoach/ide-api\";\n     *      const _MC = Helpers.createStorageBasedApi();\n     *      const contextFile = await _MC.ide.getContextFile() // use the api\n     * \n     * @param contextFileExtension Die Datei-Erweiterung der Kontext-Datei. Das Werkzeug sollte\n     *      unabhängig davon implementiert sein, da der Administrator der MathCoach IDE unter \n     *      Umständen auf eine Alternative ausweichen muss.\n     * @param storage Storage-Implementierung, die zum Speichern von Dateien verwendet werden \n     *      soll. Standardmäßig wird der `LocalStorage` des Browsers verwendet \n     *      bzw. falls nicht verfügbar der `InMemoryStorage`.\n     * \n     */\n    export function createStorageBasedApi(\n        contextFileExtension: string = \"dummy.json\",\n        storage: Storage = (typeof localStorage === \"undefined\") ? new InMemoryStorage() : localStorage\n    ): MathCoach.Api {\n        const fileIdentifier = (file: MathCoach.File) => `mock-file://${file.owner}@${file.part}/${file.path}`;\n        const traceMethod = (method: string, args?: any[]) => console.log([\"[MC MOCK API]\", \" \", method, \"(\", (args ? args : [\"\"]).join(\",\"), \")\"].join(\"\"));\n        const runtimeCheck = (errorMessage: string, isInvalid: (param: any) => boolean) => {\n            return (paramName: string, value: any, optional: boolean = false) => {\n                if (value === undefined) {\n                    if (optional) {\n                        return;\n                    } else {\n                        throw new Error(`missing parameter '${paramName}'`);\n                    }\n                }\n                if (isInvalid(value)) {\n                    throw new Error(`parameter '${paramName}' is invalid: ${errorMessage}`);\n                }\n            }\n        }\n        const runtimeCheckString = runtimeCheck(\"not a string\", v => typeof v !== \"string\");\n        const runtimeCheckBoolean = runtimeCheck(\"not a boolean\", v => typeof v !== \"boolean\");\n        const runtimeCheckFile = runtimeCheck(\"not a valid file\", v => !isFile(v));\n        const api: MathCoach.Api = {\n            ide: {\n                async getContextFile(): Promise<MathCoach.File> {\n                    traceMethod(\"MC.ide.getContextFile\");\n                    return {\n                        owner: \"jdoe\",\n                        path: `/file.${contextFileExtension}`,\n                        part: \"vfs\"\n                    }\n                },\n                async getUserName(): Promise<string> {\n                    traceMethod(\"MC.ide.getUserName\");\n                    return \"jdoe\"\n                },\n                fs: {\n                    async readFile(file: MathCoach.File) {\n                        traceMethod(\"MC.ide.fs.readFile\", [JSON.stringify(file)]);\n                        runtimeCheckFile(\"file\", file);\n                        return storage.getItem(fileIdentifier(file)) || \"\";\n                    },\n                    async writeFile(file: MathCoach.File, text: string) {\n                        traceMethod(\"MC.ide.fs.writeFile\", [JSON.stringify(file), JSON.stringify(`...${text.length} chars...`)]);\n                        runtimeCheckFile(\"file\", file);\n                        runtimeCheckString(\"text\", text);\n                        return storage.setItem(fileIdentifier(file), text);\n                    }\n                },\n                navigator: {\n                    async navigateTo(link: string, forceOpen?: boolean) {\n                        traceMethod(\"MC.ide.navigator.navigateTo\", [JSON.stringify(link), JSON.stringify(forceOpen ? true : false)]);\n                        runtimeCheckString(\"link\", link);\n                        runtimeCheckBoolean(\"forceOpen\", forceOpen, true);\n                    },\n                    async navigateToExercise(file: MathCoach.File, forceOpen?: boolean) {\n                        traceMethod(\"MC.ide.navigator.navigateToExercise\", [JSON.stringify(file), JSON.stringify(forceOpen ? true : false)]);\n                        runtimeCheckFile(\"file\", file);\n                        runtimeCheckBoolean(\"forceOpen\", forceOpen, true);\n                    }\n                }\n            },\n            async isReady() {\n                traceMethod(\"MC.isReady\");\n                return true;\n            }\n        };\n        return api;\n    }\n\n\n    /**\n     * Type Guard, der prüft, ob es sich um eine gültige `MathCoach.File`-Referenz handelt.\n     * \n     * @param maybeFile Ein beliebiges Objekt, das geprüft werden soll\n     */\n    export function isFile(maybeFile: any): maybeFile is MathCoach.File {\n        return (maybeFile ? true : false)\n            && (maybeFile.owner ? true : false) && (typeof maybeFile.owner === \"string\")\n            && (maybeFile.part ? true : false) && (typeof maybeFile.part === \"string\")\n            && (maybeFile.part === \"vfs\" || maybeFile.part === \"www\")\n            && (maybeFile.path ? true : false) && (typeof maybeFile.path === \"string\")\n            && (maybeFile.path.indexOf(\"/\") === 0)\n    }\n\n\n    /**\n     * Bildet die Kontext-Datei auf eine Aufgaben-Datei mit selben Namen ab.\n     * \n     * Ein Werkzeug speichert sein Datenmodell in der sogenannten Kontext-Datei. Soll \n     * eine MathCoach-Aufgabe generiert werden, ist es sinnvoll, wenn die Aufgaben-Datei\n     * den selben Namen wie die Kontext-Datei trägt (natürlich mit anderer Dateiendung).\n     * \n     * Beispielsweise wird eine Dateireferenz mit dem Pfad `\"/path/to/myExercise.mcq.json\"` \n     * auf eine Dateireferenz mit dem Pfad `\"/path/to/myExercise.groovy\"` abgebildet.\n     * \n     * Anwendungsbeispiel\n     * \n     *      import { Helpers } from \"@mathcoach/ide-api\";\n     *      const contextFile: MathCoach.File = await MC.ide.getContextFile();\n     *      const exerciseFile: MathCoach.File = Helpers.contextFileToExerciseFile(contextFile);\n     */\n    export function contextFileToExerciseFile(contextFile: MathCoach.File): MathCoach.File {\n        if (isFile(contextFile)) {\n            let exerciseFile: MathCoach.File = {\n                part: contextFile.part,\n                owner: contextFile.owner,\n                path: contextFile.path.split(\".\")[0] + \".groovy\"\n            };\n            return exerciseFile;\n        } else {\n            throw new Error(\"no valid file reference given, expected object like {owner:'demo', part:'vfs'|'www', path: '/...'}\")\n        }\n    }\n\n    /**\n     * Storage auf Basis einer Map. Kann z.B. bei Unit-Tests verwendet\n     * werden, beid denen der LocalStorage nicht verfügbar ist.\n     */\n    export class InMemoryStorage implements Storage {\n\n        private readonly items: Map<string, string> = new Map();\n\n        get length(): number {\n            return this.items.size;\n        }\n        clear(): void {\n            this.items.clear();\n        }\n        getItem(key: string): string | null {\n            const value = this.items.get(key);\n            return value ? value : null;\n        }\n        key(_index: number): string | null {\n            throw new Error(\"InMemoryStorage: key function is not implemented now\");\n        }\n        removeItem(key: string): void {\n            this.items.delete(key);\n        }\n        setItem(key: string, value: string): void {\n            this.items.set(key, value);\n        }\n\n    }\n\n}\n\n","export * from \"./MathCoach\"\nexport * from \"./Helpers\"\n"]}
\ No newline at end of file
diff --git a/docs/assets/css/main.css b/docs/assets/css/main.css
new file mode 100644
index 0000000..55fcabd
--- /dev/null
+++ b/docs/assets/css/main.css
@@ -0,0 +1,2683 @@
+/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(../images/icons.png);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(../images/icons@2x.png);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(../images/widgets.png);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(../images/widgets@2x.png);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}
\ No newline at end of file
diff --git a/docs/assets/images/icons.png b/docs/assets/images/icons.png
new file mode 100644
index 0000000..3836d5f
--- /dev/null
+++ b/docs/assets/images/icons.png
Binary files differ
diff --git a/docs/assets/images/icons@2x.png b/docs/assets/images/icons@2x.png
new file mode 100644
index 0000000..5a209e2
--- /dev/null
+++ b/docs/assets/images/icons@2x.png
Binary files differ
diff --git a/docs/assets/images/widgets.png b/docs/assets/images/widgets.png
new file mode 100644
index 0000000..c738053
--- /dev/null
+++ b/docs/assets/images/widgets.png
Binary files differ
diff --git a/docs/assets/images/widgets@2x.png b/docs/assets/images/widgets@2x.png
new file mode 100644
index 0000000..4bbbd57
--- /dev/null
+++ b/docs/assets/images/widgets@2x.png
Binary files differ
diff --git a/docs/assets/js/main.js b/docs/assets/js/main.js
new file mode 100644
index 0000000..a534f1b
--- /dev/null
+++ b/docs/assets/js/main.js
@@ -0,0 +1 @@
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
\ No newline at end of file
diff --git a/docs/assets/js/search.js b/docs/assets/js/search.js
new file mode 100644
index 0000000..03343d7
--- /dev/null
+++ b/docs/assets/js/search.js
@@ -0,0 +1,3 @@
+var typedoc = typedoc || {};
+            typedoc.search = typedoc.search || {};
+            typedoc.search.data = {"kinds":{"2":"Namespace","32":"Variable","64":"Function","128":"Class","256":"Interface","1024":"Property","2048":"Method","262144":"Accessor"},"rows":[{"id":0,"kind":2,"name":"__global","url":"modules/__global.html","classes":"tsd-kind-namespace"},{"id":1,"kind":32,"name":"MC","url":"modules/__global.html#mc","classes":"tsd-kind-variable tsd-parent-kind-namespace","parent":"__global"},{"id":2,"kind":2,"name":"MathCoach","url":"modules/mathcoach.html","classes":"tsd-kind-namespace"},{"id":3,"kind":256,"name":"Api","url":"interfaces/mathcoach.api.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"MathCoach"},{"id":4,"kind":1024,"name":"ide","url":"interfaces/mathcoach.api.html#ide","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MathCoach.Api"},{"id":5,"kind":2048,"name":"isReady","url":"interfaces/mathcoach.api.html#isready","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MathCoach.Api"},{"id":6,"kind":256,"name":"IdeApi","url":"interfaces/mathcoach.ideapi.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"MathCoach"},{"id":7,"kind":2048,"name":"getUserName","url":"interfaces/mathcoach.ideapi.html#getusername","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MathCoach.IdeApi"},{"id":8,"kind":2048,"name":"getContextFile","url":"interfaces/mathcoach.ideapi.html#getcontextfile","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MathCoach.IdeApi"},{"id":9,"kind":1024,"name":"fs","url":"interfaces/mathcoach.ideapi.html#fs","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MathCoach.IdeApi"},{"id":10,"kind":1024,"name":"navigator","url":"interfaces/mathcoach.ideapi.html#navigator","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MathCoach.IdeApi"},{"id":11,"kind":256,"name":"NavigatorApi","url":"interfaces/mathcoach.navigatorapi.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"MathCoach"},{"id":12,"kind":2048,"name":"navigateTo","url":"interfaces/mathcoach.navigatorapi.html#navigateto","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MathCoach.NavigatorApi"},{"id":13,"kind":2048,"name":"navigateToExercise","url":"interfaces/mathcoach.navigatorapi.html#navigatetoexercise","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MathCoach.NavigatorApi"},{"id":14,"kind":256,"name":"FileSystemApi","url":"interfaces/mathcoach.filesystemapi.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"MathCoach"},{"id":15,"kind":2048,"name":"readFile","url":"interfaces/mathcoach.filesystemapi.html#readfile","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MathCoach.FileSystemApi"},{"id":16,"kind":2048,"name":"writeFile","url":"interfaces/mathcoach.filesystemapi.html#writefile","classes":"tsd-kind-method tsd-parent-kind-interface","parent":"MathCoach.FileSystemApi"},{"id":17,"kind":256,"name":"File","url":"interfaces/mathcoach.file.html","classes":"tsd-kind-interface tsd-parent-kind-namespace","parent":"MathCoach"},{"id":18,"kind":1024,"name":"owner","url":"interfaces/mathcoach.file.html#owner","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MathCoach.File"},{"id":19,"kind":1024,"name":"part","url":"interfaces/mathcoach.file.html#part","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MathCoach.File"},{"id":20,"kind":1024,"name":"path","url":"interfaces/mathcoach.file.html#path","classes":"tsd-kind-property tsd-parent-kind-interface","parent":"MathCoach.File"},{"id":21,"kind":2,"name":"Helpers","url":"modules/helpers.html","classes":"tsd-kind-namespace"},{"id":22,"kind":128,"name":"InMemoryStorage","url":"classes/helpers.inmemorystorage.html","classes":"tsd-kind-class tsd-parent-kind-namespace","parent":"Helpers"},{"id":23,"kind":1024,"name":"items","url":"classes/helpers.inmemorystorage.html#items","classes":"tsd-kind-property tsd-parent-kind-class tsd-is-private","parent":"Helpers.InMemoryStorage"},{"id":24,"kind":262144,"name":"length","url":"classes/helpers.inmemorystorage.html#length","classes":"tsd-kind-get-signature tsd-parent-kind-class","parent":"Helpers.InMemoryStorage"},{"id":25,"kind":2048,"name":"clear","url":"classes/helpers.inmemorystorage.html#clear","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Helpers.InMemoryStorage"},{"id":26,"kind":2048,"name":"getItem","url":"classes/helpers.inmemorystorage.html#getitem","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Helpers.InMemoryStorage"},{"id":27,"kind":2048,"name":"key","url":"classes/helpers.inmemorystorage.html#key","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Helpers.InMemoryStorage"},{"id":28,"kind":2048,"name":"removeItem","url":"classes/helpers.inmemorystorage.html#removeitem","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Helpers.InMemoryStorage"},{"id":29,"kind":2048,"name":"setItem","url":"classes/helpers.inmemorystorage.html#setitem","classes":"tsd-kind-method tsd-parent-kind-class","parent":"Helpers.InMemoryStorage"},{"id":30,"kind":64,"name":"enableOfflineUsageIfNecessary","url":"modules/helpers.html#enableofflineusageifnecessary","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Helpers"},{"id":31,"kind":64,"name":"createStorageBasedApi","url":"modules/helpers.html#createstoragebasedapi","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Helpers"},{"id":32,"kind":64,"name":"isFile","url":"modules/helpers.html#isfile","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Helpers"},{"id":33,"kind":64,"name":"contextFileToExerciseFile","url":"modules/helpers.html#contextfiletoexercisefile","classes":"tsd-kind-function tsd-parent-kind-namespace","parent":"Helpers"}]};
\ No newline at end of file
diff --git a/docs/classes/helpers.inmemorystorage.html b/docs/classes/helpers.inmemorystorage.html
new file mode 100644
index 0000000..a20f55e
--- /dev/null
+++ b/docs/classes/helpers.inmemorystorage.html
@@ -0,0 +1,2987 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>InMemoryStorage | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdwAAAGYCAYAAADoalOPAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAG2CSURBVHja7L0PjBVHniYYVUbVx5hTrdAxwioL/2l8zHnbNn1YWG3BFsKLhUULut2M7Gaut+xtyy1atmzZwoKljmqQWVAjIyOsRo3MtBlraHPntQXXFqX2GlFDyT4j1zVtz7iXW8t/aim5tNhoasduduuafRc/8pdUVFb+iciMyIj33vdJofcqX2bEV19G5pcRGRG/jkajIQAAAACg1bDt8I3BcNnR96noxCkBAAAAAPeYBQmAPKz9tb+yj/8QeoSuBwCE2tKkFmVoQAsXAAAAAHy0cA90uC90o8Zr41B4HD582DmPvr6+IFpWzdSCgh5h1lPcP6Zj5KB7IksebTQNDw3cJNMDMq2SqVumxbz9rEwTMr0p01GZPnH87zjhgS5lAAAAwDeWyfSsTL1Zfs6fK2XaJdOwTP0yDVko97JM79TBo0yX8lx6uJPpmEzvyfQnTu/xto28j2uAh38e9OT3ED8NQg/oAR7gYYoumfbLdJpN7iJ1UMi0TqY7uVE4i7+v498usjGe4mO7KpTbw2ZbCw8Tw50t02aZPpbpFzKtZbe/htMS3vYL3mczH2Mb4OGfBx3/lEy/4y6VT6AH9AAP8Chh8r+V6TGZLsm0W6abZfqpTMdlGuHW52X+fpx/u5n3vcTH/tbwYSAud1xE3cK18dA13Pns4rv4KV7nSX8XHzPfYuUAD/884jKp2+VB7kqBHtADPMDD1OhPcGuSjG+FTFtE9H60CBO87wo+tpfzmm1QLrVOd9bNQ8dwqcn9rkxLS4i6lI/tsVA5wMM/j3lKmU/KdAZ6QA/wAI8SeJ7zGZPpLr52THGGjx3jvJ7XLJcGQD3ug0eR4VKf9GsyLagg7ALOo6tCHuDhnwftd4yPo26Vg9ADeoAHeJQ4lrqpH5VpUqb7ZRqtwGOU85jkPJdolLuPzbF2HkWG+1TJJ6C0J6KnKhwPHv550DuK7/D3Z6AH9AAP8CjJ4+f8ubdkizKthbk3kXdWufQedo8vHnmGS/31m4Q9bBJ67wnAIzwe9PtW/k7z0E5CD+gBHuBRggd159KUmgnF+GxgD+e5UkzNmU0rd1CmC7545BnuGmF3GDjltaHEceDhn8d6pcxXoQf0AA/wKMljPX++IaKBS7ZAeR1JlJFW7qBPHnmG+4Cwj9UljgEP/zzU39+BHtADPMCjJI/4NcxRBzwGE2WklTvik0ee4S5yQGRJiWPAwz+P25Tv56AH9AAP8CjJY1HiurGJkZz/Md72kU8eeYY73wGReSWOAQ//PNQyL0AP6AEe4FGSR7zvuAMeF3L4xNsmfPKoO1rQpAgD4AEe4AEe4NFaPLpC55FnuC6cf6zEMeDhn8d4TU+o0AP1FDxam4fLHqGeRBlp5Xb75JFnuC76ts/VdAx42M3zA+X7IugBPcADPErm6XLMQ961GG9b6JNHXng+mu6w1jKRwRLH2OBBT2BPiyiU0tWnsayYmRlxLp3xyIplmhF/1Md5od/jIe408u5kO9SPnJi7rvRI5ZHFJyNebzvX01a/fwStR1bM3UScXBrVv5Kvn+OW9VitlJFEXO5i/u6FR14Ll0hMWCRBeR0pcVxVHvSUcbuIhn+PVcinVXiUOS90kcZz1dajfjjRA/UU94920COet06m321RD8prQ6KMtHLX+OTRWXBCd1sksrvkia7Ko1+5OVLf+isynZepwek8b+tpEx5lzgv9vpO/0xNib5vXDxd6oJ7i/tEOetDKbENsTJst6rGZ8xziMrLKXSWicRdeeBSNUqZ1IUcskKA89lU4vgqPN/mT+tXfF9HEb7Uy9PA2+u3WNuBR9ry8IKbWG30O9cO6HqinuH+0ix5P8yetw7zEgh6UxxOJvLPK7RJT6z/XzqPIcGm497qKXSljnMelCnlU4RE/BVK80rmcFz2lXc+pn7fN5X1anUfZ8xKXOSqmR9lo1/phWw/UU9w/2kUPNbrWMVEtzF8P5zGb8xwpeFA5yAbb44NHp+YJvluUjxN4d8UKZoOH4K4EwgB3B45x2snb1H1anUfZ80JTCuKYkWocyXatH7b1QD3F/aNd9FDjR78tysflfZvzOMN5FoH2oa7e/T546C58QU/xK/jpRee9wQTvu0JUizFog0eM+MX4oZT94m1z2oBH1fMyzsfvENG7mt42rx+29EA9xf2jnfSgFvp9InrXSbF1T3GLWGcAUzfve4qPHeK8dFr9cbnUAt9aNw+TlaYu8dPLzTI9LqIoC+pL4bO87XHeZ2fFbg9bPJK4oLmtVXnYOC90PA28uFNE89oWtHn9sKEH6inuH+2mBw2+upcNejYb4Mfc+qTRxGp4u8W8bT/vs5WPOcR5mET8icu9SUTvm2vjMavECaIMX+DkE2V5NMDDapmHUD+c6IF6ivtHO+hB73sfkellmXaJaF77Y5zyQHNct3Crskq5vZyG6uAxw3A3NkQQsMUja3K6LjIm9Rsja9EAXWQsctC2sKVHzuIWTYVQ6inuH9ORWPTBG2zxyFrcwgLIsOidMo1+prnt9P63W2ldUkuburRplDTNbz1nsdzaeMwS7Yt7+PMt8ABQP1BPoUcQepCB7RRT89x9wQmPdjbcLvBAy7rMeXGhSU5LG/UU94+m12NH36dQqM0Ml4asq/OsTmTs0y48ANQP1FPoAT1guE5AL8R/JbLDMY3zPu3CA0D9QD2FHi2tR2gt63YyXIqscR14AKgfqKfQoz302Hb4xmC4kPl3NBoNVB0AAACg5RCa4TZ9C7fqsP2q0weqTqOwNZ3DFXxOmwlxwBb0AIDmML4QB2p1Vs1AGt4ySgH8L8s4gQcAAAAQHEq3cNlkaR3JXv6bJgz3yxbjsAeDu8pDRBOXaW3QluJRR8uqmVpQ0GM6qva06ECnN+ZAh/v/VadXKhQeDheKuAqdRS1C4aGBeLnFvAUnjsr0ieN/xwkP4xYut2hPya+nFXMR/P00/VZHi7eIh4gWlK6jpbmMy/LNAwAAoFkR30dpfWJaWnGliMJeXsNpCW/bxfsk77dVyv1OXTy0DTfH4JJwarymPFwZnmxRLJPJOw8FFP1io4hiMr4n0584vcfbNvI+NkFPfg/x06BPHtAjTD3AAzyKQAtm7Ffuo7Sm8wERxeulYCCzON3J2w7wPrEx7hflFiGJy6W5xO/UxaPQcA0MzqnxVuVhy/AMjLYu46VIFZv5aesXMq1NeSJby799zPvOtlAmBXH+HXepfOKJB/QIUw/wAA9dk/+tiAIExBG3KCLRT2U6LqIg7pc5jfC2n/I+u/mYxziPuSXKpbnCR+vk0enA4Kwar20eZQ2vgtG6NN75nM8uoR+/cRcfM79imfS++kERvav2wQN6hKkHeICHrtGf4PthHFOaou7oxuXdwseMcx4nNB8E4nKpdbqzbh6dDg2ukvG65qFreBaNNpUH5U1llDieukLelWlpxu87co5dysf2GJY5TynzSZnOeOIBPcLUAzzAQxfPcz60/ONdfO2kYVtOHmf42DHO63nNcmkA1OM+eMww3L94SJyes8CqsUzDRTHa+3+Ll04X7RcKj4ULF56+9tprnfH48ssve4eHh08bHkbvCl4TUaDzLAwUXDQLOI8ugzKP8XHUrXLQEw/oEaYe4AEeuqBu6kdFFJP2fplGc/bdXmB2o5zHJOe5RKPcfWyOtfOYYbj/441C/C//+orhiTkLrBqckAYn3hF/Lb4UnxbuHwqPOXPmiFtuuYWMV0jjtWm0QhqtOH36tPjiiy9MD38q58nU5KJZynnpgN5RxKP5nvHIA3qEqQd4gIcufs6fe3NalCZmd4bzUvPOKpfew+7xxaPTteGZGlyoPGwZb0WjJdB7lE0G+xddNJtE8fsb+n0rf6d5aCc98YAeYeoBHuChC+rOpWk1E4rx6aDI7PZwnivF1JzZtHJpDegLvngUjlIua3hVDS5UHmWN14LRxlgjzIfn5100lNeGguPXK2W+6pEH9AhTD/AAD12s5883RDRwyQR5Zkd5HUmUkVbuoE8e2vNwdQ3PtsGFykPXeC0abYwHEn93ZCSTi2Z1QZnq7+945AE9wtQDPMBDF/FrmKOJ7Y2MZGJ2g4ky0sod8cnDeGnH2PD+SXrY+ZNCfDU6ZXD/rzjpxNxC5hEb71dffSU+//xz8fXXX1812j/84Q+2TFbFogrHDvBnsqIsKTjuNuX7OY88oEeYeoAHeJiWf64Cj+38mXwAGMn5H+NtH/nkUXotZdXwXnrppdoMLlQeqvESDwdGG2N+yhNZVcwzKPOCRx7QI0w9wAM8TPcdT2lpV8WFHD7xtgmfPCpHCyLD82VyIfIg43Votq4wCR7gAR7g0eQ8ukLn0fTxcNsQ9ESWHBVIA3deM8zniPJ9zKDMeby/Dx7QI0w9wAM8TFp/PdzSTq7mRK9qvmXIQ40b1pNoYaaV283fvfCo3MIFakfaOwcaDXe/5TxVfKB8X+SRB/QIUw/wAA/TfRdlXFd/X4FH3rUYb1vok0e7tHDpCexpmYbXiJ9NexpLi5u5seGex/e+971pPNLimWbEH6Wn0bUZF41IeVI9osFrUOP3OH8aeXfSEw9XetC5oHWQh9Wn9ZyYu670SOWRxScjXq8zHlkxdwOqp7XqkRVzN+P+0fJ6ZMXcTcTJpVH9K7m84zkPs9/KaUFmYbVSRhJxuYv5uxce7dDCpaeM26XRHk2arQ8e0miPJs3WEMdF9sLaZZ5UJzQubrpILyYuTB88XOhx5byIaHrAmMFNy7YeZXiEokco9RR6hK9HPG+dTL87pwfJtIVJeW1IlJFW7hqfPNrBcPul0cY3R+pbf0Wm82JqftV53tbjmoc0Whs86GLZnfO76cW7WxRHxqDfd/J3ekLs9cTDhR79innqnhcXepThEYoeodRT6BG+HrQy2xAb0+acckzNbjPnOcRlZJW7SkTjLrzwaAfDfZM/qV/9fRFN/FYrQw9vo99ubRIetF7niIWLl/LYp8n/BTG13uhzHnnY1qPsebGtRyj1o9nrKfQIX4+n+ZPWYV5iwewojycSeWeV2yWm1n+unUea4a4QUd+8KwxzGUWwwkO2buOnQIpXSsuQTfJT2vWc+nnbXN7HCQ/Zuq3KQwXtt66gS6fo4h3jPC5p/gtxmaNiepSNunnY1qPsebGtRyj1o9nrKfQIXw81utaxgt6BIrPr4Txmc54jBQ8qB9lge3zwmGG4dw6IIZmWOzDeK0b7m8bPlss0VLSzAx6r+HOAuwPHOO0UUyuorEoedMcddwzJ5J1HxoV3t8iPcrE+Y/sZPtb0HQxNKYhjRqpxJOvmYVuPsufFth6h1I9mr6fQI3w91PjRb4v86EUfZGxfysf2cF5PavzftA919e73waOzBsMzMlqHPOIX44dSfou3zck62KLxVuKRwCjz6Rd673MmeN8VIj/2Y5Hp0vG0nBm9q+n1xMOWHlXPiy09QqkfrVJPoUfYelAL/T4RveukVfFPcYtYJ/JQN+97io8d4rx0Wv1xudQC31o3j8J3uBUMr5LROjTeC5rbXBtvJR6JCkRPlTfL9LiIol+oL+vP8rbHeZ+dFbuj4jJp4MWdIprXtsATDxt62DgvNvQIpX60Uj2FHmHrQYOv7mWDns0G+DG3Pmk0sRrebjFv28/7bOVjDnEeJhF/4nJvEtH75tp4aM/DJcOTH8vf237lCZ5cfVmO0fbbMFkbPFK2W5llS8ZLPH7/+9975ZGoRC9wqgsXU55wffCwqUcjED0aLaBHKPUUeoSrB73vfUSml2XaJaJ57Y9xygPNcd3Crcoq5fZyGqqDh/HCFzmG59RoTXlUOBGmuMKDT5ozHhmLHLQtbOmx9tetoUfG4hPGyFrcQhcOF43xwuNAxaXsE4s+eIMtHlmLW1i6j9I7ZRr9TO+O6f1vt9K6pJY2dWnTKGma33rOYrm18Si90lTC8ERdRltgeMLA4O7hz7dajAdgB6GcF/BA/WgnPcjAdoqpee6+4IRH5aUdyXh/M/CzEE64qeF3tTiPoFqSTYiuOjXJaWkHHwEF9QMo0mNH36dQSLTAWsp3Dkx9TzN+pUuIhqyr86xOpGRnPNz+jjvumLHt9ddfn7FN6apzwgOojFDOC3igfkAPGG7Tg16I/0rMDMAcY5z3aRceAOoH6in0aGk9QmtZt5PhUmSN68ADQP1APYUe7aHHtsM3BsOFzL+j0Wig6gAAAAAth9AMt+lbuFWndVQdAFN1GoWt6Ryh6uvz3EAPAGhf4wtxoFblaEHyBrSMUgD/yzIhwAMAAAAIE6VbuGyytNBDL/9N02H65VP4cM3/wzQeIpqWQwtOtBSPOlpWzdSCgh7TUbWnRQc6vTEHOtz/rzqLWoTCw+FCEVehs6hFKDw0EC+3mLfgxFGZPnH87zjhYWy4SaNVQH+frst4i3jUaLyh8AAAAGhWZN1Hr/o5f64U0dKLtlbyo3Ivi2iJRuc8tA03x+BEncZrysOV4ckWRRA8FMzlJ7LVIpofpz6R0Xy4QX4iu2ixTHry+z7/b5945AE9wtQDPMCjCLRgxnNias3ii1zOIJcbB1JYzLxWM0+6/54S0drPFOx9smS5w1xeLTwKDdfA4Jwab1UetgzPwGjrMl6KVPGETJtFekipJZzW8hMZRbXZJ6pFHqEyN3LlfJjNxQcP6BGmHuABHrom/xrfGy9xvpR/WqjAEU7HRRQsYDPzpmvuNpnuN3gYiMuNu4Vr4zHLgcFZNV7bPMoaXgWjdWm8NOn8mMgPmpxsge3iVtg6EU1OL1smVa4VIgq47IMH9AhTD/AAD12jP8Flj3N+ZzSPnWCze53593JeKzQeBOJyqdW6s24enWkGJ9MpNoVeYQ+x8Z7SGdXsmgd3AxTyIKOVyRkPypvN3BTUrfFuzsXyWs6xS/nYHsMy5yllPskV0wcP6BGmHuABHrp4nvMh47srx+S+lZPHGT52jPN6XrNc6hZ+3AePGYZ7z83i9Lw/s2os03Dpi9He//R3L50u2i8UHgsXLjx97bXXOuPx5Zdf9g4PD582PKyLL4gFOfu8WnDRLODfuwzKPMbHUZfKQU88oEeYeoAHeOiCuqgfFdH7TuqCHc3Z97YCsxvlPCY5zyUa5e5jc6ydxwzD/fNrhfiX37xieEIank2DE9LgxOjQX4s/Xvi0cP9QeMyZM0fccsstZLxCGq9NoxXSaMXp06fFF198YXr4U5rdQEUXzVLOSwf0juI7/P0ZjzygR5h6gAd46OLn/LlX6HXfFpndGc5LzTurXBqRvMcXj07XhmdqcKHysGW8FY2WQO9RNhnsX3TRbBLpgyWSZW7l7zRa76QnHtAjTD3AAzx0Qd25NKVmQjE+HRSZ3R7Oc6WYGmGdVi6NOr7gi0fhSlNlDa+qwYXKo6zxWjDaGGtENKpOWLpoKK8NBcevV8p81SMP6BGmHuABHrpYz59vCPMpRnlmR3kdSZSRVu6gTx7a83Bjw/vPXwvx/rh8RPhjtsF98eFJK+YWMo/YeL/66ivx+eefi6+//jrTaP/whz9UNVkVDyT+3mBw0RDuT/mN5pQdyDl2tfL9HY88oEeYeoAHeOjyiF/DHE1s113X7Tb+/PuU38hMNyplpJU74pOH8UpTWYbn2uBC5ZFlvA6MNsaiCsdmXTRLNCsX4ZxHHtAjTD3AAzxMyz9XgUeW2Y3k/I/xto988ii9lrJqeC+99FJtBhcqD9V4iYcDo42RDPh8xEKe8wzKvOCRB/QIUw/wAA/TfZNzeG2sjn4hh0+8bcInj8rRgsjwfJlciDzIeB2arStMggd4gAd4NDmPrtB5dAqg2ZC2usuATB2GScWYQZnzPPKAHmHqAR7gYdr6m5/y23aZGoZJRU+ijLRyu33ygOE2H85lVJBtlvNU8YHyfZFHHtAjTD3AAzxM912UYfw7KvDIuxbjbQt98pgl2gP0BEaRHIYX/eBn057G0uKqOoyDepXH9773vWk80uKZZsQfpYELazMuGpFSUXSCVA5q/B4PcaeRdyc98XClB52LB0W0rvVYXt1wrEcqjyw+GfXUGY+smLsB1dNa9ciKuZsRJ7fl9ciKuZuIk0uj+lfy9XM8w+xEygOATkDf1UoZScTlLubvXni0QwuXnjJul0Z7NGm2PnhIoz2aNFtDUOWYyPitzJMq5XVE4yKN56qt98jDhR5XzouIpgeMGdy0bOtRhkcoeoRST6FH+HrEI53J9LMWzCjTwqS8NiTKSCt3jU8e7WC4/dJo45sj9a2/ItN5MdX3fp639bjmIY3WBg+6WHbn/G568e7OuQDVMnfyd3pC7PXEw4Ue/Yp56p4XF3qU4RGKHqHUU+gRvh60MtsQG9PmnHJMzS4OLzgkpmLXppW7SkTjLrzwaAfDfZM/qV/9fRFN/FYrQw9vo99ubRIetF7niIWLl/LYp8mfAizH640+55GHbT3KnhfbeoRSP5q9nkKP8PV4mj9pHeYlFsyO8ngikXdWuV1iav3n2nmkGe4KYS84ehqGuYwiWOEhW7fxUyDFsqVlyCb5Ke16Tv28bS7v44SHbN1W5aGC9ltX0KVTdPGOcR66gaTjMkfF9CgbdfOwrUfZ82Jbj1DqR7PXU+gRvh5qdK1jBb0DRWbXw3nM5jxHCh5UDrLB9vjgMcNwf/gtMSTTcgfGe8Voz736s+UyDRXt7IDHKkW4nVzZ4iDEA4l9ruKOO+4Yksk7j4wL726RH+Vie8b2M3ys6TsYmlIQx4xU40jWzcO2HmXPi209QqkfzV5PoUf4eqjxo98W+dGLBjK2L+VjezivJzX+b9qHunr3++DRWYPhGRmtQx7xi/FDKb/F2+ZkHWzReCvxSGCU+fQLvfc5E7zvCpEf+7HIdFfw0x69q+n1xMOWHlXPiy09QqkfrVJPoUfYelAL/T4Rveuk2LqnuEWsE3mom/c9xccOcV46rf64XGqBb62bR+E73AqGV8loHRrvBc1tro23Eo9EBaKnyptlelxE0S/Ul/VnedvjvM/Oit1RcZk08OJOEc1rW+CJhw09bJwXG3qEUj9aqZ5Cj7D1oMFX97JBz2YD/JhbnzSaWA1vt5i37ed9tvIxhzgPk4g/cbk3ieh9c208tOfhkuHJj+W//vsrT/Dk6styjLbfhsna4JGyvWGDBxkv8fj973/vlUeiEr3AqS5cTHnC9cHDph6NQPRotIAeodRT6BGuHvS+9xGZXpZpl4jmtT/GKQ80x3ULtyqrlNvLaagOHsYLX+QYnlOjNeVR4USY4goPPmnOeDhcjKMpYUuPtb9uDT0yFp8wRtbiFrrY2AhDD1s8DnRUOz6x6IM32OKRtbiFpfsovVOm0c80t53e/3YrrUtqaVOXNo2Spvmt5yyWWxuP0itNJQxP1GW0BYYnDAzuHv58q8V4AHYQynkBD9SPdtKDDGynmJrn7gtOeFRe2vHKu9VXfxbCCTc1/K4W5xFUS7IJ0VWnJjkt7eAjoKB+AEV67Oj7FAqJFlhLWRr+1PcU41duZDRkXZ1ndSIlO+Ph9nfccceMba+//vqMbUpXnRMeQGWEcl7AA/UDesBwmx70QvxXIj0cE2Gc92kXHgDqB+op9GhpPUJrWbeT4VJkjevAA0D9QD2FHu2hx7bDNwbDhcy/o9FooOoAAAAALYfQDLfpW7hVp3VUHQBTdRqFrekcoerr89xADwBoX+MLcaBW5WhB8ga0jFIA/8syIcADAAAACBOlW7hssrTQQy//TdNh+uVT+HDN/8M0HiKalkMLTrQUjzpaVs3UgoIe01G1p0UHOr0xBzrc/686i1qEwsPhQhFXobOoRSg8NBAvt5i34MRRmT5x/O844WFsuEmjVUB/n67LeIt41Gi8ofAAAABoVmTdR6/6OX+uFNHSi7ZW8qNyL4toiUbnPLQNN8fgRJ3Ga8rDleHJFkUQPBTM5Sey1SKaH6c+kdF8uEF+IrtosUx68vs+/2+feOQBPcLUAzzAowi0YMZzYmrN4otcziCXGwdSWMy8VjNPuv+eEtHazxTsfbJkucNcXi08Cg3XwOCcGm9VHrYMz8Bo6zJeilTxhEybRXpIqSWc1vITGUW12SeqRR6hMjdy5XyYzcUHD+gRph7gAR66Jv8a3xsvcb6Uf1qowBFOx0UULGAz86Zr7jaZ7jd4GIjLjbuFa+Mxy4HBWTVe2zzKGl4Fo3VpvDTp/JjID5qcbIHt4lbYOhFNTi9bJlWuFSIKuOyDB/QIUw/wAA9doz/BZY9zfmc0j51gs3ud+fdyXis0HgTicqnVurNuHp1pBifTKTaFXmEPsfGe0hnV7JoHdwMU8iCjlckZD8qbzdwU1K3xbs7FsiPn2KV8bI9hmfOUMp/kiumDB/QIUw/wAA9dPM/5kPHdlWNy23LyOMPHjnFez2uWS93Cj/vgMcNw77lZnJ73Z1aNZRoufTHa+5/+7qXTRfuFwmPhwoWnr732Wmc8vvzyy97h4eHThod1cRfIgpx9BgoumgWcR5dBmcf4OOpSOeiJB/QIUw/wAA9dUBf1oyJ630ldsKM5+24vMLtRzmOS81yiUe4+Nsfaecww3D+/Voh/+c0rhiek4dk0OCENTowO/bX444VPC/cPhcecOXPELbfcQsYrpPHaNFohjVacPn1afPHFF6aHP6XZDVR00SzlvHRA7yi+w9+f8cgDeoSpB3iAhy5+zp97hV73bZHZneG81LyzyqURyXt88eh0bXimBhcqD1vGW9FoCfQeZZPB/kUXzSaRPlgiWeZW/k6j9U564gE9wtQDPMBDF9SdS1NqJhTj00GR2e3hPFeKqRHWaeXSqOMLvngUrjRV1vCqGlyoPMoarwWjjbFGRKPqhKWLhvLaUHD8eqXMVz3ygB5h6gEe4KGL9fz5hjCfYpRndpTXkUQZaeUO+uShvbSjruHZNrhQeegar0WjjfFA4u+OjGRy0awuKFP9/R2PPKBHmHqAB3joIn4NczSxvZGRTMxuMFFGWrkjPnkYrzQVG95//lqI98dl2/yPUwb3xYcnnZhbyDxi4/3qq6/E559/Lr7++uurRvuHP/zBlsmqWFTh2AH+TFaUJQXH3aZ8P+eRB/QIUw/wAA/T8s9V4LGdP5MPACM5/2O87SOfPEqvpawa3ksvvVSbwYXKQzVe4uHAaGPMT3kiq4p5BmVe8MgDeoSpB3iAh+m+4ykt7aq4kMMn3jbhk0flaEFkeL5MLkQeZLwOzdYVJsEDPMADPJqcR1foPDoF0GxIW91lQGS/i9F5RzNmUOY8jzygR5h6gAd4mLb+5qf8tl1kv0PVebfakygjrdxunzxguM2HcxkVZJvlPFV8oHxf5JEH9AhTD/AAD9N9F2UY/44KPPKuxXjbQp88Zon2AD2BUSSH4UU/+Nm0p7G0uKoO46Be5fG9731vGo+0eKYZ8UdpGsrajItGpFQUnXc0gxq/x0PcaeTdSU88XOlB5+JBEa1rPZZXNxzrkcoji09GPXXGIyvmbkD1tFY9smLuZsTJbXk9smLuJuLk0qj+lXz9HM8wO5HyAKDzbnW1UkYScbmL+bsXHu3QwqWnjNul0R5Nmq0PHtJojybN1hBUOSYyfivzpEp5HdG4SOO5aus98nChx5XzIqLpAWMGNy3bepThEYoeodRT6BG+HvG8dTL9rAUzyrQwKa8NiTLSyl3jk0ea4e4QM/vrqzSvy8IWj35ptPHNkfrWX5HpvJjqez/P23pc85BGW4WHeqHtzvnd9OLdnXMBqmXu5O/0hNjriYcLPfoV89Q9Ly70KMMjFD1CqafQI3w9aGW2ITamzTnlmJpdHF5wSEzFrk0rd5WIxl144TErpdtsIK3QH96W2ry2goyuO1s83uRP6ld/W8xcZYUqxgN8Ipb/YPLwh4mes1QeixcvdspDpg9z8trLLaslOReN0KgoNF9snyb/F5gfrZ9KgZrv9MTDth5lz4ttPUKpH81eT6FH+HrQa7X3RLQO86tiat5qlgcU3Wfp/3hCyTsLarlbfPBIa+F2ienDmq/8/esPKr9IjkH9/is09rPCQ7Zu46fAZ7lyTPJT2vWc+nnbXN5Hi8fZs2eNeMjWbVUeKmi/dQVdOkVPqmOch24g6bjMUTE9ykbdPGzrUfa82NYjlPrR7PUUeoSvhxpd61hB70DRfbaH85jNeY4UPKgcZIPt8cGjM8VcjikHzlb+rmq6V4z23Ks/Wy7TkIbZ2uaxShFuJ1e2OAjxQGIfLR6mpluBR9aFd7fIj3KxPWP7GT7W9B0MTSmIY0aqcSTr5mFbj7LnxbYeodSPZq+n0CN8PdT40W+L/OhFAxnbl/KxPZzXkxr/95Pc1bvfB4/OFHOhEVbUXzqfM1jM28qanYnRuuQRvxg/lPJbvG2OKY8SpmvKIw+j3FvQL/Te50zwvitEfuzHItNdwf8zvavp9cTDlh5Vz4stPUKpH61ST6FH2HpQC/0+Eb3rpNi6p7hFrBN5qJv3PcXHDnFeOq3+uFxqgW+tm0dnirnQZN17ZPpEROtO3sPbYpOZrWl2pkbrikcSFzS2GfEo2dK9oLlNpwLRU+XNMj0uougX6sv6s7ztcd5nZ8XuqLhMGnhB7y0XcmXzwcOGHjbOiw09QqkfrVRPoUfYetDgq3vZoGezAX7Mrc81Ynp4u8W8bT/vs5WPOcR5mET8icu9SUTvm2vjMSvDXNQX3R/ytrd4n9dkup/MLmMAExltv4HJ5plcZR4p5TRc8CDTzRhIVZaHKehEv8CpLlxMecL1wcOmHo1A9Gi0gB6h1FPoEa4e9L73EZlelmmXiOa1P8YpDzTHdQu3KquU28tpqA4eZLjXJLZdTtnvcsbxA4rBlDXaGFZ5VDgRofCYBoeLcTQlbOmRs7hFUyFj8QljZC1uoYuNjTD0sMXjQMWl7BOLPniDLR5Zi1tYAN0n6Z0yjX6mEdT0/rdbaV1SS5u6tGmUNI0oPmex3Np4zOIuhfu5pUYttlMi6tePW3W38jaauzTI+17p2vjht4T49d9HI44rGK3atVGKB2NFhoBZuIc/3wqUB+AXoZwX8ED9aCc9yMB2iql57r7ghMesDJN5i13+Gv6eZS5kukM/fPVntviU5lGiJdnVBDxapiXZhOiqU5OclnbwEVBQP4AiPXb0fQqFxPS1lFWTIYwrTWiRYS4uYMyDWtpXPlOMX7mR0ZB1dZ7ViZSyx6rwuOOOO658vv766zMyVrrqTHkA9SCU8wIeqB/Qow0MVzUZoZhJ8u864IIHvRD/lUgPxxQb6iOB8gDcI5TzAh6oH9DDEkJrWc/KMLu8v+s0XZs8qAv4urwdfjB5OAgegBeEcl7AA/UDeljCtsM3BsOFzL+j0Wig6gAAAAAth9AMd1a7C1q1y6HqNApb0zlcwee0mRAHbEEPAGgO4wtxoFanBSGXUQrgf1nGCTwAAACA4FC6hcsmS+tI9vLfNB2mXz5VDHswuKs8RDQthxacaCkedbSsmqkFBT2mo2pPiw50emMOdLj/X3UWtQiFh8OFIq5CZ1GLUHhoIF5uMW/BiaMiWmrXJZzwMDbcpNGKqQWt6e/TdRlvEY8ajTcUHgAAAM2K5H10hp/z50oRLb1oayU/KpdWDnynDh7aXcrcdXyKTaSXjYVW4biB007eFhvvKRddzaY8RLQqlHUeskWxTCbvPBRQ9IuNIloHmoIq/4nTe7xto5gZLLoq6MnvIX4a9MkDeoSpB3iARxFowYz9yn2U1nQ+IKJ4vXdyo3AWf1/Hv13ke+kpPrarQrk9bLa18Chs4Wa0JGmB6z2yFauGa+qX++6Rn5tEtOCz1RZvHg8xPWxUP2+bxsNWS5OMNgQeCihSxRMybRbpIaWWcFrLT2QU1WafqDa9aTZfgPR/PczdKj54QI8w9QAP8NA1+df43niJ890t0kMFjnA6LqJgAZuZN11zFL7mfqEfMSguN+4Wro1HZ5mWpDTP/oTZXgFto9+4hbfDRou3iEeGKHH8yBk8yrY0C1q0tfFIYD7ns0vox2/cxcfMr1gmPXQ8yA8QPnhAjzD1AA/w0DX6E3w/jGNKbxH6cXm38DHjnMcJzlO33It8/66VR6cNo80w3oEqxmuDBx8zUMXw8oy2r6/PJHBzKg/Km1vNpqCukHdlWlri2KV8bI/hcfOUMp+U6YwnHtAjTD3AAzx08TznQ8s/3sXXjinO8LFjnNfzmuXSAKjHffBIa+GeVrpLqWvsdgODyzLe20UUvF0ohlcEazwUw7PCg4xWprp5qOjiLpAFKb/9RLO7ZwHn0WVQ5jE+jrpUDnriAT3C1AM8wEMX1EX9qIhi0lIX7GjKPr/UbLGOch6TnOcSjXL3sTnWzqNo0BQN/nhftjS3ytRtqiodQ8dSHjItrFBBKvHgrhBrPGSLdKtMPnk8lfNkSjf+5RmVJ+1J9SnNMukdxXf4+zMeeUCPMPUAD/DQxc/5c29Oi/JRbogs0Gxh7k3knVUujUje44tHnuHGo2zJJOj91Ge6hqcY7Wd8bLeY6oo1RWkeisE54UHGK/TffdjiQcduKtiHWlzfFtF6p0XYpPE/xPwJNA/tpCce0CNMPcADPHRB3bkr+f63R6Ml/DsRhUgtQjxodaWYmjObVi79Txd88cg0XGXwU5rhbUszvAKjjQc5GaGIR8bJzjO4eJCTEfh9bSoP+tfr4iGxRugNz6dBAfeJ6J1xHiivDQX7rFfKfNUjD+gRph7gAR66WM+fbwi9UcWU/wm+xxbxPZIoI63cQZ88OgvMLm3UMZnGdtV4dYy25LtXLR6K4ekYXGke9N5WMV5fPB4w3J/eGX+3oFIVPbmpv7/jkQf0CFMP8AAPXcSvYY4a8qB77G8KHhYGE2WklTvik4fWwhcZo45Vo3FitLZ4VDXaDOP1xWNRiWPoKY4mbJ/N6TLJw23K93MeeUCPMPUAD/AwLf9cydY5LcSxOOP3kZz/Md72kU8eRsELcgzPqdGW5WHbaNOMV8yc7uOaR9n5bzTC+m6ZDqX8Ns+gzAseeUCPMPUAD/DQRbzveEkeNHD1bZl+nPLbhRw+8bYJnzxKBS9gMx3YdvhGGpH1j7z5Bpcmm8VDciDDm8bDpclmIDZe3zx0cDll2yR4gAd4gEcT8bgmZVtX6DwqhedTDbZus00xvLTvrcij7BMZDWun4e2Ppvw2ZlDmPI88oEeYeoAHeOiiao8QTVeiaUsHU37rSZSRVm63Tx6V4+ECtaPMOwcKMUXD2peUzPMD5fsijzygR5h6gAd4mJZf5l0yrX1M05VGMn7PuxbjbQt98igdD7cFcCVA5LbDN6a13GvnkRbPNCP+KE1DWWuQP42c3l6wz6DG7/EQdxp5d9ITD1d60BP60yIKKHH1aT0n5q4rPVJ5ZPHJiNfrjEdWzN2A6mmtemTF3M2Ik9vyemTF3E3EyaVR/Sv5+jluwIPGyAwU7LNaKSOJuNzF/N0LD7Rwmw9UOXS6q2nY+m80LlrK64jGRRpPC1jvkYcLPegplJbaPCr0u8Zc6FGGRyh6hFJPoUf4esTz1sn0dRbMoOvsuxomR3ltSJSRVu4anzzyogV1C8souzykRQrUt/6KTOdlanA6z9tyF+IuuZSjdR58sewu2Iee4t5TKlcedmtcgOqqWJR3ryceLvToV8xT97y40KMMj1D0CKWeQo/w9aCpRUNsTJsLeNC+NB3pDY3/Kw4vOCTSpy/F5VL3+DxfPPJauJ9VWLt4hmkqC2OYwhYP6lenNYwfSFSGHt5Gv92ax6PCGso2eRBoNHTW+wMapk7D1W/S4EJ57NPkTTF/4/VGn/PIw7Yeb5Y8L7b1eDOQ+vFmk9dT6BG+Hk/zJ63DnPVemKYf0TSkTzT+H8rjiUTeWeV2ian1n2vnkWa4K0TUN19m7eI8o40XghjmMopgjQfjWe4mmeSntOs59fO2ubxPIY+KxluWhwrab11Gl86LQi+6xRjnoRtIOi5zVEyPslE3D9t6TJQ8L7b1mAikfkw0eT2FHuHroUbXOpbRGn5E83/s4Txmc54jBQ8qB9lge3zwmGG4O/o+HZJpeYbhbasQvOCK0VLeVEZRHjZ4iOl986v4c4C7A8c47RRT/fKrkhn09fUNybQ8w3iz1lC2ziPjwrtblI/feLcwfwdDUwrimJFqHMm6edjWo+x5sa1HKPWj2esp9AhfDzV+9NuifFzetzmPM5xnEZ7krt79Pnh0GhredmEevMDIaE15iOKgAUnTO5TRbUCYk8Ujw3iTayg755HAKPPRXclqgvddIfTCb2WZLh1Po/XoXU2vJx629Kh6XmzpEUr9aJV6Cj3C1oNajRQcgTyB5vieUjxDpwHzLB+zgPO4T7MlGpc7l+/NtfLoaDQaut3DvZz5MkX8vWJqFBudNDVUE5lSfxmTtcwjHqveSPydxNXfdaYFydatcx7qdIucKSox4qgdq/lJK17n8yw/edIUAhrVmLkIedo0k4Jyqczvi+i9zqgtHnl8HOqhfV4c66HNQ9Una8pOHXqo9fRAh/t6ulHjluWAh7YeKr+sqTI29UhMu0nvS7XPQ1sP4pc2/ZJB3bm/EFNLJMbRdga53Hjg0WLmtZp5zlXM/aciZbUruo9rlEvX6lGXPFQ+2oabY3hJODHasjz4qUOtAEXoMJmHm2K81ngYGm5llDDc2vk45KV9Xhz/29o8DA3XGQ9Dw60MS4brTA9Dw60MS4brTI8Cw41B99FdIj3STxpojusW5b4qDA1XLVco+VjnofIxXviCjXR5iuHVYrS6PHQEsIQrPPhEOeORZz7tCFt6+HygsImMxSeMUdW4NzbC0MMWj6rGrWOGdcAWD4cPEHSfpHfKNPqZ5rbT+9/uREt7glukNL/1nMVya+NReqWphOGJuoy2wPCEgcHdw59vtRgPwA5COS/ggfrRTnqQge0UU/PcfcEJj8pLO3o02qInlSJ0tTiPoFqSTYiuOjXJaWl3ha4H6gdQpEfNy+UGi6ZfS7noRCp9+PTiW51ndSJld+Ph9rpdeUpXnRMeQGWEcl7AA/UDesBwmx40gflXIjsc0zjv0y48ANQP1FPo0dJ6hNaybifDpeHd14EHgPqBego92kMPjVHKtZq/8bQgAAAAAGgGhGa4s9pd0KpdDlWnUdiazuEKoc7DhR4AAONzeW93gU4LQi6jFMD/skxkLz7RjjwAAACAgFC6hcsmSws99PLfNB2GFr4Y9mBwV3mIaFoOLTjRUjx8rTTVzi3vZtLDwUpTM6DTG9PCK02V4tHCK02V4qEBCgtI4f3yFpygpRg/cfzvOOFhbLhJoxVTC1rT36frMt4iHjUabyg8AAAAmhXJ++gMP+fPlSJaetHWSn5U7mURLdHonId2lzJ3HZ9iE+llY6FVOG7gtJO3xcZ7ykVXsykPEUVysM5DtiiWyeSdhwJaRHujiGIyvifTnzi9x9s2iqmFtm2BnvweEtODVfvgAT3C1AM8wKMItGDGfuU+SkEDDogoXu+d3Cicxd/X8W8X+V56io/tqlBuD5ttLTwKW7gZLckXZNojW7FquKZ+ue8eEUXIecx2izePh5geNqqft03jYaulSUYbAg8FFPD4CZk2i/SQUks4reUnst0y7RPVAljP5guQ/q+HuVvFBw/oEaYe4AEeuib/Gt8bL3G+u0V6qMARTsdFFCxgM/Oma+42me4XGhHIEuXG3cK18egs05KU5tmfMNsroG30G7fwdtho8RbxyBAljh85g0fZlmZBi7Y2HgnM53x2Cf34jbv4mPkVy6SHjgf5AcIHD+gRph7gAR66Rn+C74dxTOktQj8u7xY+ZpzzOMF56pZ7ke/ftfLotGG0GcY7UMV4bfDgYwaqGF6e0fb19ZkEbk7lQXlzq9kU1BXyrkxLSxy7lI/tMTxunlLmkzKd8cQDeoSpB3iAhy6e53xo+ce7+NoxxRk+dozzel6zXBoA9bgPHmkt3NNKdyl1jd1uYHBZxnu7TB/x5tjwimCNh2J4VniQ0cpUNw8VXdwFsiDlt59odvcs4Dy6DMo8xsdRl8pBTzygR5h6gAd46IK6qB8VUbB26oIdTdnnl5ot1lHOY5LzXKJR7j42x9p5FA2aosEf78uW5laZuk1VpWPoWMpDpoUVKkglHtwVYo2HbJFulcknj6dynkzpxr88o/KkPak+pVkmvaOIgzI/45EH9AhTD/AAD138nD/35rQoH+WGyALNFubeRN5Z5dKI5D2+eOQZbjzKlkyC3k99pmt4itF+xsd2i6muWFOU5qEYnBMeZLxC/92HLR507KaCfajF9W0RrXdahE0a/0PMn0Dz0E564gE9wtQDPMBDF9Sdu5Lvf3s0WsK/k2m1Rr7xoNWVYmrObFq59D9d8MUj03CVwU9phrctzfAKjDYe5GSEIh4ZJzvP4OJBTkbg97WpPOhfr4uHxBqhNzyfBgXcJ6J3xnmgvDYU7LNeKfNVjzygR5h6gAd46GI9f74h9EYVU/4n+B5bxPdIooy0cgd98ugsMLu0UcdkGttV49Ux2pLvXrV4KIanY3CledB7W8V4ffF4wHB/emf83YJKVfTkpv7+jkce0CNMPcADPHQRv4Y5asiD7rG/KXhYGEyUkVbuiE8eWgtfZIw6Vo3GidHa4lHVaDOM1xePRSWOoac4mrB9NqfLJA+3Kd/PeeQBPcLUAzzAw7T8cyVb57QQx+KM30dy/sd420c+eRgFL8gxPKdGW5aHbaNNM14xc7qPax5l57/RCOu7ZTqU8ts8gzIveOQBPcLUAzzAQxfxvuMledDA1bdl+nHKbxdy+MTbJnzyKBW8gM10YNvhG2lE1j/y5htcmmwWD8mBDG8aD5cmm4HYeH3z0MHllG2T4AEe4AEeTcTjmpRtXaHzqBSeTzXYus02xfDSvrcij7JPZDSsnYa3P5ry25hBmfM88oAeYeoBHuChi6o9QjRdiaYtHUz5rSdRRlq53T55VI6HC9SOMu8cKMQUDWtfUjLPD5TvizzygB5h6gEe4GFafpl3ybT2MU1XGsn4Pe9ajLct9MmjdDzcFsCVAJHbDt+Y1nKvnUdaPNOM+KM0DWWtQf40cnp7wT6DGr/HQ9xp5N1JTzxc6UFP6E+LKKDE1af1nJi7rvRI5ZHFJyNerzMeWTF3A6qnteqRFXM3I05uy+uRFXM3ESeXRvWv5OvnuAEPGiMzULDPaqWMJOJyF/N3LzzQwm0+UOXQ6a6mYeu/0bhoKa8jGhdpPC1gvUceLvSgp1BaavOo0O8a+z8c6FGGRyh6hFJPoUf4esTz1sn0dRbMoOvsuxomR3ltSJSRVu4anzw6Mxy8I63lVxWGyzK64EF966/IdF6mBqfzvK0nj0fW032NPNQL7Z9xyzhrUjo9xb2nVK487Na4ANVVsY575OFCj37FPHXPyz850KMMj1D0CKWeQo/w9TjLZf8zDf60L01HekPj/4rDCw6J9OlLZ/k36h6f54tHx//+0g2lXYO6XqUhNvh7R4HR0tqzV5cBU/e3ZKpxv0UWD+pXf1tkT1imSrT8m2L7hyHwkOnDf9fVp1PedjF99ZNHRBQMWWfB7REu68pi5ckuykQXJo28e0ikDxKwyuPqo/gPU3nY1iO+4LTPiyM9jHj8YPLwhyHo8ceH+lzxyKwfyS7bAx3h1I+lv+yoXY9El21m164PPY5944ay99MXRRTRRyeQAr1bPs2c72R9Yn9K7vcem+6/r4uH6pdpLdwuMX1Yc/JvoxZtygpU1O+/QuNwazwYz3LlmOSntOs59fO2ubxPs/EYSDypvqh50VJ30DqhH0h6UkxFxPHJw7YeEyXPi209JgKpHxNNXk+hR3PqkcQjmv8jtaSPMeeDInsgU/ygspbN1guPWSliHOPv9/Pna/y5joX8H2T6rxpdx9NatGy0tCDGkGblqMxDTC1AIfipRnAF263sQ12DNLdsl7JPs/GI3yts07z4KKrFXwrzdzCtyiOU8wIeqB/trIfpfF6KVvR/stmRNk9qHPN/+eTRmSIGjbCiPvz5nMFi3naM9/mv3ELVDV5wpUUrjXa5odmW5iGmr2WsbiOkrZQSb5vTxDyST6pZT6f9zHe05EXbajxCOS/ggfoBPfQQB445JaL5weQr92m2RL3y6EwhQZN17xHRUl4f8fcLCpnZXMBPOVpPbLZVjbY0j8STWZJHEhc0tjUrD7po/jcx/WU9fX+D30PczE+glypctK3GI5TzAh6oH9Bjqjv7fxbT1yqm7zSIi94vf8z319ls7vcKvYg/3nnQoKk0Eh8k9qPF2t8S0eiuQW6G08nfntINYdJ1HJt1lhiVefBTB6Ghw+WbYvs3QuDx77r6qvAohYxBU11180jyqYlHQ3O/b4TA4weTh4Pg8ceH6q+nGYOmgqgfS3/ZUbseGYOmgtDj2DdusH0/jUFzXLco99UZSAya6vLFQ+VD73CTa0GmrZV5OSOPAYWIsdEmYJWHjgCtyiNjQQThQY8geOTpYTgCuiX0yFio4gpKTH8rzWNjIww98ngYjoCuxCNpnL70yONhOALa5v30LHdp0ypPNL/1XDPy6GQHv58dfR53j96q7HMrb5vxFMQrMq0o0XWchtI8GCs4Ldc0uXs4BclDtmCq8rCFduXhqn6AB+oH9NDn0cHp23xf3SnKLU8ZBI9ZCTKvcZObmtV381NBbpdDRZPNEsWYR4mWZFeL8xC+z4vllnbdenTVqUdOS7urVfUIpZ5CjzD1cLDErvfzMiuDDGFcaUKLGipHaR55J0bpw6eh9OrqJydSdh+rwkOzq845j1DOS5PxCOW8gAfqB/Ro0fvYrAwyQik0+beoURSbPGgC869Edjimcd6nXXiEcl5QP8AD9QN6ONEjZbUpYx42W9qzMk5O3t91VhKbPKir4Lq8Hb6Zvl547Txq0iOU89I09SMUHj+YPBwEjz8+1If6oWDpLzugh4Jj37jBux45ywZr87C1nj8Zd0ej0RAAAAAA0GpwEYSniuE2fTzcEsP2p6Hq1ISqUYTy3vuGgBLTZqzBwaAr6AEAbWJ8Ncc110LleLjS8JZRCuB/WcYJPAAAAIDgULqFyyZLyxb28t80HaZfthiHPRjcVR4impZDC060FI86WlbN1IKCHtNhOV5zKnR6Y6r2OOlAp1cqFB4lFoowhs6CGaHw0MBNMj0gosAHtCRuvKyiuuDEUREtyegSTngYG27SaMXUgtb09+m6jLeIR43GGwoPAACAZkXyPjrDz/lzpYgiEVVdyU8tl1aYeqcOHtpdytx1fIpNpJeNhVbbuIHTTt4WG+8pF13NpjxEtHqIdR6yRbFMJu88FFD8yY0iWi+Ugiz/idN7vG2jyA4WXRb05PcQPw365AE9wtQDPMCjCLRgxn7lPkqL/x8QUZi8O7lROIu/r+PfLvK99BQf21Wh3B4221p4FLZwU1qSgpvRK2QrVg0V1S/3pcC7tGLHQtst3jweYnrIKnramMHDVkuTjDYEHgooUsUTMm0W6VGJlnBay09kFLtyn6g2HH82X4AU8/hh/v998IAeYeoBHuCha/Kv8b3xEue7W0wPAxhjhNNxEQUL2My86ZqjoAP3C72IQWq5cbdwbTw6DVuSZ/hneoJ/X/6+TaZuThSm6H02F8H7Vm7x6vAQ0cLS3WIq/mwmj7ItzYwWbe08EpjP+ezKuFjSWmC7+Jj5Fcukh44H+QHCBw/oEaYe4AEeukZ/gu+H49xg2ZJhcklM8L4r+Nhezmu2QbkXuReyVh6dJl22spV6F2c+zOLTShGfiZQ4uLxv6a5mWzxkuqtKF29e13FfX19lHpQ3t5pNQV0h78q0tMSxS/nYHsPj5illPskPET54QI8w9QAP8NDF85zPGN8bz5TI4wwfO8Z5Pa9ZLg2AetwHj7QW7mmlu5S6xm6XBkddwlccX37SE/x3RbTSiFBadIK3fZf3oX0n6FjKQ0RBfoVieEWozENMvcie4G5cKzyk0fbLFD8B1cVDRRd3gSzI2eevOGVhAefRZVDmMT6OulQOeuIBPcLUAzzAQxfURf2oTJPcBTuas+/fcsrCKOcxyXku0Sh3H5tj7TyKBk1ldR1TC2417zMspt5H0rbPCrqay6AUD5HfxVuah2yRbpOpmxLnWzePpwqeTMnMj3D6qOBJ9SnNMukdxXf4+zMeeUCPMPUAD/DQxc/5c29Bi5LukRs4LSxoYe5N5J1VLo1I3uOLR57hxl2fRV3HyymJ4q7VuCvWFFo8RBR/th140LGbCvY5nvE9DZtE8fub+EGBQPPQTnriAT3C1AM8wEMX1J27ku9/ewr2XZvxPQ17OM+VYmrObFq51Ot4wRePTMPlrmB657hDMZrUrmPeP6trVX332m9aO3R4iOlzoAp5CGHOg7qRQ+AhsUYUD88fUb6fLdh3Lj+55WG9UuarHnlAjzD1AA/w0MV6/nxDFI8qXpIwzDxc5Ba5WkZauYM+eXQWmB29gx1gc1CR1XWsdq3GuEF991oGRTzEzC7bVB5scKV50HtbmXzzeEBjn3PK9w819l9t8Ps7HnlAjzD1AA/w0EX8Guaoxr6LlO+3auw/mCgjrdwRnzy0Vpoiw1OWSqPW2WNiqqv0KaUFJ9hIXoi73KoYrU0eVYw2zXiVpfTq5rEoZdtH3PVzli8Q9SL5QESTtW/lpzPqElmY8wSXhttSLkYfPKBHmHqAB3iYln8u5beFnP9iLu/WxDX3HnM7y3w/ymiZL8op9yOfPPLm4W6llmuK6WV1reZ2HSutYCNU4SHSu2zV92/akAa7lQdJJVErDzFz/hsttHCLTE/L9DKfbHVS+iRve5n3uYWPUTHPoMwLHnlAjzD1AA/w0EW873hiOwWz/48yPSfTj9jE1fmsXbztR7zPf+RjRMq1OC+n3AmfPPJauDS4Z5M0Oxp1tS/Z0pQfA/zbP8ZdpWmtWTZLagGWfcmfy0Nupy7eaTwyWpFWeEjTncGDy6uLRxKzLRwzCR7gAR7g4ZHHJQvHdIXOI89wJ1K6SUWK4akmnIbPEt2rpiZTyCNhbK3OYzxxzC+Yz+vcxXGOuzsuKSf/Nu7eoC6S76d0CY0ZlDmP9/fBA3qEqQd4gIcuqPXXwy1t9R75U26wfJ/LWcRdubMVU/+A+Z1lvsmu3J5ECzOt3G7+7oVHnuHewK2wx9QTxN3CL2QZrNKiVVt08XvMPUoLUBe5PHKMrRYeQtTO45yY+W5goZg+1P9OMfUeIX7nUJRnHj5QylzEF5gPHtAjTD3AAzxMyu9hDsnjPhLTp+hQuUuUa+7Ogrzz3svG5S5kI/TCI9Nw2VApIMEefgLaxj+ldvHmdB3Te8w9sUGbxqks4sFPI/tSDE7lQTfE+2T6B5n+O2/ryOKTFueSV5bqP3z4sBMeafFMM+KP0jSUtRonPG8AQRKDGr/HQ9xp5N1JTzxc6UHnhd5PDatP6zkxd13pkcoji09GvF5nPLJi7gZUT2vVI+telhEnt+X1yIq5m4iTS6P6V/L1UzTH95xidDqmvlopI4m43MX83QuPwvB8ypSctK7VzxJdpeqiDvHx/TZGKlfgQQLdzk8m/70qD2VqkC8ex0XxSOclGd/TQHkd0bhI47lq6z3ycKFHfF6OGnSNudCjDI9Q9AilnkKP8PWI562vFcWv00Yyvmf1JG5IlJFW7hqfPPJGKWeRUBfg707pKo1H5prkKRzy6FdujtSF8IpM52VqcDrP23IX4s4YoVw7D85zd8E+Jiuj7Na4ANVVsegJsdcTDxd6lDkvLvQIpX40cz2FHuHrQe89h/j+uFnj4SDtexri8IJDIn2xjrjcVSIad+GFR14L97O0KTlKQIJ4KkyMq1OCki3axMIYpijFQ0wtLvGm0jVCaxg/kKgMPbyNfsub1PxZxtSgOCBBXTwIewuetOK1PzeK/LU/KY99mueB3jnH640+55GHbT3KnhfbeoRSP5q9nkKP8PV4mj+fKmjJx2s6HxD5azpTHk8k8s4qt0tMDXqtnUea4a4QU2sAP8uGt62oizer61gx2uSaw0XQ4iGmpuSoT2Bpo4UpD1qGbJL3uZ5TP2+by/sU8qDgBR54qKD91hV06VBki1/k/D7GeegOg4/LHBXTo2zUzcO2HmXPi209QqkfzV5PoUf4eqjRtY4V9A5QxKKf5vzew3nM5jxHCh5UDrLB9vjg0ZlipEMZwQi0u4UT+6QFOxgqysMGj0QX7yr+HODW5xinnYpRrkpm0NfXNyRTJg8h6uGRceHdLcrHb7xbmL+DoSkFccxINY5k3Txs61H2vNjWI5T60ez1FHqEr4caP/ptUT4u79ucxxnOswhPclfvfh88Og0ML7eLN6fr2MhoTXlkGJ66lnHS9A6l7B9vm5PFI8V4r/LgsmrhkcAo89Fdmznu/l4h8mM/FpkuHU/d5/SuptcTD1t6VD0vtvQIpX60Sj2FHmHrQS10mrFBnkCxdU8pjTOdBsyzfMwCzuM+zVZ/XO5cvjfXykNnlHJaS3NGF29W13FZozXhIcS0ruYkjyQuaG7TNV4vPBIViJ4qb5bpcRFFv1Bf1p/lbY/zPjsrdkfFZdLAC5qPtpArmw8eNvSwcV5s6BFK/Wilego9wtaDBl/dywY9m++ZH3Prk0YTq5F5FvO2/bzPVj7mEOdx0eB/jsul+OYP1Mmjo9FoGJ0daay9bCLLMnYhE+q3YbI2eIipkHm6/2jHRgNJDh8+7IyHOr8xZ06oNaTN66yjXBM+DnlpnxfH/7Y2D1WfrDmydfBQ6+mBDvf1Quf6dMCj1P0ja26qTSTmuabCAQ9tPYjftsM3Fu1H99FdIj3STxpojusWIbJ9Zkffp7rlCiUf6zxUPrNKVHbKeHmK4dVitLo8dASwhCs8+EQ545FnPu0IW3r4fKCwiYzFJ4xR1bg3NsLQwxaPqsatY4Z1wBYPhw8QdJ+kd8o0+pnmttP7326ldUkt7Xi2B81vPWex3Np4zKpQoVXDE3UZbYHhCQODu4c/32oxHoAdhHJewAP1o530IAPbKabmufuCEx6zqmbg0WiLnlSK0NXiPIJqSTYhuurUJKel3RW6HqgfQJEe1J0KWDBc3yjqOlK6hGjIujrP6kTK7sbD7XW78pSuOic8gMoI5byAB+oH9IDhNj0eEVGg4PkZv4/zPu3CA0D9QD2FHi2tR2gt63YyXIqscZ3tTEsMMnHCAwizfoAH6gf08AeNUcq1mr/xtKAijBzsuDJKd8mjjWGf/1xdPDQMVx21PAO2RpcCAAAAYRuutRYuGxxNi+nlv2nwUH/dxhsKDzbaqzxENJiqP8t4Q0Wo83ChBwDA+IoMLjR0Vs2ADE6mU/LraTEVpmyCv5+m3+LWpmujDYEHG20mD/5tGS5BAACA9kLpFm6yJcmmQiHL9vDfm2R6TDE8Jy3NUHiktGhzeZi2eH2tNNXOLe9m0sPBSlMzoPP6o4VXmirFo4VXmirFQwPxcot5C04clekTx/+OEx7GhptncFJwdXHrfrkvhSmiidALFaOxcuZD4VFgtNN4iChskyseAAAAzYrkfXSGn/PnShEtvWhrJT8q97KIlmh0zkPbcA0Mjvbt5tbcJqEXdUE0Gw/ZotA1WsFlO+GhYC4/ka0W0fw49YmM5sMN8hPZRYtl0v/yfa5sn3jkAT3C1AM8wKMItGDGc3x/FJz/US5vTEwFUljMvFYzz/jVHd1zKdj7ZMlyh7m8WngUGq4Fg4v33+rZaK3wsGC0VngooEgVT8i0OcPMl3Bay09kFNVmn6gWeYTK3Mj/28NsLj54QI8w9QAP8NA1+df4XnqJ890t0kMFjnA6LqJgAZuZN11zt8l0v8HDQFxu3C1cGw+dFu5p5TvdSFZIgxs1MLgrhij3qWowwfIQM2NU5vLg7zYMlyadHxP6QZO7+aKhVtg6EU1OL1vmbfy/n/HEA3qEqQd4gIeu0Z/gssc5vzOax06w2b3O/Hs5rxUaDwJxudRq3Vk3D9N3uPQi+X1pWnv5KUAUGZyj7o+geMikxUPoBXnWBXVrvC2i2KumoMr1roiiYpgsvzaPj6Myf8IV0wcP6BGmHuABHrp4nvMZ43xGS+RB19td/H8s5Tx/olHuYm6J1s7DZFrQTjYMMpLtIgqurgZYn+B9bpAG1+/Q5JqOh4heqtvk0cVdIAsq5LGA8+gyKPMYH0ddKgc98YAeYeoBHuChC+qiflRE7zvvL2lyMUY5j0nOc4lGufvYYGvnoW24ZF5sHjsUoyk0OOrmtdCNGxyPvr6+Qh4ZRkv7VOXxlEE3UNGT6lOa+1LLPQ7K/IxHHtAjTD3AAzx08XP+3Cv0u2+LWph7E3lnlUsjkvf44mG08AWZmEwDbCYxigwubvVZQyg8pOlSWTN4FBhtVR6Uzybl7yHuzugQ+VOM4t/vEtOHsOuMnFYfEmi03klPPKBHmHqAB3jogrpzV/L9cY+ynd5/Ujd1g1MW4t/fFdOn7sSv7FaKqRHWaeXSqOMLvniUWmlKNTUNg+sWdrtTg+ORyLfIaKvyWCOiUXUxHjR8OjvDx8SgvDYUHLNeKfNVjzygR5h6gAd46GI9f74hpo/mfcWw1b2Uj4lBeR1JlJFW7qBPHtqGS+bFo4Czfs8yuJ2JFmAlhMLj8OHDW2Xq1mgF2ebxQOLv8cQTV9ETmXpMjNUFZaq/v+ORB/QIUw/wAA9dxK9hjia2z0+0pIta2uoxImGm38kpd8QnD5NRymQamxIjg7Wm4vB+trwuKB5i+gjl2GhdjlRe5KKzoOD325Tv5zzygB5h6gEe4GFa/jkHPEZy/sd420c+eZgYrjoiV31R/pmodypOU/IQ9rqz5zv4X+YZlHnBIw/oEaYe4AEepvuOO+BxIYfPPOWe7I2HieHeIKYW4O9OtOhyDS6vC7gEmopHhtG6Wt6xLCbBAzzAAzyanEdX6DxMpgVNJKbkxNCZivOZtb6LQHjQCOXE1KBpPETxSOWycPFENmZQ5jyPPKBHmHqAB3iYtv5ctLR7EmWkldvtk4fxKGVlSk78d7/mCGGrCIUHm+qA8rfOlKAqPFy8cyjK8wPl+yKPPKBHmHqAB3iY7uviXXLetRhvW+iTh0m0oO6i96EugwZU5EFPYP9apn8v03/hffLMvJAHjVDmebh5KOSRF8c0I/4oTUNZm3iaonzjfyiLfEfKE1iMwYL/g36Ph7jTyLuTnni40oOecmmqw7D6tJ4Tc9eVHqk8svhkxOt1xiOrrgZUT2vVIyvmbkac3JbXI+uemrif0qj+lXz9HE+0knuU8rNu0I2clvVqpYwk4nIX83cvPExauJ9lTckpmorDXcC2YMrjPZluEdEyZP/FJg+aGpTRWk1r0dricTzRgn7RsFtkPh+jttCPaFyk8Vy19R55uNDjf5LpaxFNDxgzuGnZ1qMMj1D0CKWeQo/w9Yjnra9N3DsfEWbd3eN8jHrP3ZAoI63cNT55mBhuN5sHGd42xeRyjdbBKGFTHrQg9SXlaY4mKZ8XU/PKzvO2nrI8ZNqmbHfNg/LbnXia+lzoz6P7XEyfN5cVhipZ5k7+Tk+IvZ54uNBjhUz/ZHheXOhRhkcoeoRST6FH+HrQymxDfG/cnGitXyf0579el2jhx+EFh8RU7Nq0cleJaNyFFx5VghfE8B00IJeH/Pz/+HfqV6fIPg8kKkMPb6PfbnXBQ0TvdW3yoLm/Ixa0pDz2ae5LrwXiFWme88jDth5vljwvtvV4M5D68WaT11PoEb4eT/MnTadcYkEPyuOJRN5Z5XaJqWmctfOoErwg+bTvK3iBFg82QlqGbJIN8HpO/bxtrjBY4zgleMEMHiJ9AJUNHrTfuopdXGOch24g6bjMUTE9ykbdPGzrMVHyvNjWYyKQ+jHR5PUUeoSvhxpd61iJ3kWRMHjKYzbnOVLwoHKQDbbHB4+6gxcMWzJdbR4KVvHnABvimJgKQjyQ2EfXdE2CF9jmEcdvLBPl4owoF8uS3lfcxccn40jWycO2HmXPi209QqkfzV5PoUf4ejwppsePLhO9aCkf28N5PalxDO1DXb37ffCoK3gBGe0Kue9yYRGaPGLEL8YPpWQVb5tTkopO8AIXPKh1tULox9ud4H1XiPKxH8f5eGrZ07uaXk88bOlR9bzY0iOU+tEq9RR6hK0HtdDvE9G7Toqte0roT5mMx8+c4mOHOC+dVn9c7ly+L9fKw3XwgqtGK9OQjRpSgkcSFzS35aJE8AInPPjk0lPlzTI9LqLoF+rL+rO87XHeZ2fF7qi4TBp4caeI5rUt8MTDhh42zosNPUKpH61UT6FH2HrQSP972aBn8/3yY2590mhiNbzdYt62n/fZyscc4jwuGvzPcbk3ieh9c208dObhkmkuE2ZBA+iYflsmW5FHEg2bPIRe8AIXPNIq0Quc6sLFlCdcHzxs6tEIRI9GC+gRSj2FHuHqQe97aVrNyzLtEtG89sc45YHmuG4R02Pzlim3l9NQHTw6Go1ivaSZ9bLBLFO6FrpTvrsw2ko8lMnYuhWjo2jhC9myNeKROBnaPDIWFKgVOYs/OEfGwg6u/j/t8+KYkjYPF/ooi1s0VT11BWVxC209NjZaVg5R9n667fCNukXQ6Gea276K76OLlZY23VtplDTNby1c3WpH36cm5TrjofLRWmmKDXR5iuHFLTqnRuuIxz38+ZYpD3mDucIjxXin8dB86inNA3CKUM4LeKB+tJMeZGA7xdQ8d19wwsMkWlCa4Yk6jNYRj8qRJch4peku5y6JqzwMuzm6Qr6K6mhlBoquOjXJ6UkIPgIK6gdQpAe17gBDw00anm/yhjziNTJjnMjYpwxC4QGURyjnBTxQP6AHDLfpQS/EfyWy1w1Nromp28rV2k95N+aEBxBm/QAP1A/o4Q+htazbyXDjNTLBA0D9QD2FHtCjdmiNUgYAAAAAAC3ctoPtqTo6g4DqmB5UdjAS9JiOvBjLZVB22s8ByxOoyk63CYVHXgzuMtCJ2x0yjwpTdlKh031su0xTHp0CaCfQSML1AZTpgwf0CFMP8ACPtrluYbjtZbaviHqnM6SV6YMH9AhTD/AAj7a6bmG47YFrZPpbmb4vLEVsKlmmDx7QI0w9wAM82u66xTvciqj6vqyGZfGu4Scx6vr4QNiNNmJSpg8e0CNMPcADPNryukULtz1atvF7hsGay6Q1Rx/xxAN6hKkHeIBH2163Vlu4Iwc74ig6BFpq0Uv3Qyg8xFRUoSs8au6OiSvHA8q2oRrLpEpK4apGPPCAHmHqAR7g0dbXrRXDVQyuV9l8Wm4fqtPwQuGhGO00HnyC6jBeqjB/k6gcFPfyZE1lfiWiQMwjHnhAjzD1AA/waPvrtpLhphgcPQ3E8RQf4+3ODS8UHilGm8rDsfFShaEl1zYktg8JNwGsk2V+xU+EZzzwgB5h6gEe4IHrVpR8h0sGJ9MpNo9eNhYKY3SDNDMyNDKTG2Tawb/FhnfKttGGwIONNpUHG2sqDz7GRYX5UcpvQ44r6Y+4At6nVNI6eUCPMPUAD/DAdVumhZvTktwjzW0i5ZDJxN+9jlu0tfI4fPhwJg/+XgsPBS9mVA7CG44q6otKJb2XW+2/8sADeoSpB3iAB65bE8M1MTi5LwVgp+7TTSIKxh7v312n0brkYWi0zngkQJXjoYzfKHLHBw4qaVxm/EQ47IkH9AhTD/AAD1y3Cgq7lAu6bCdUg5Npq/z6GZtRt5jetVrVbIPgIc02lYeIuo0nEkbrjEfK09lDOb/P533mOyiTKul3uYvFBw/oEaYe4AEeuG5NDVfM7Pa8lGxJ5hlc0hAroCl4aBhtv0jvbq5SYX6ssR/t8x9kekpUXxYtLpP+93UiGq3ngwf0CFMP8AAPXLclDTdG3A1KJvKZNLdtNRlcU/CQaVvNRkv4pWblUB8GnpPpH2RaU7HMuJK+6YkH9AhTD/AAD1y3Fgz3BjaP2Gi26xocv0+1habikWG0tni8LtNHJY5bKNPaimXOFtG8tPmeeECPMPUAD/DAdVvVcMm8EtNsYuQanNL6tIJQePT19U3IlMkjx2ht8qClxf65TE8btp4PyfQTC2Wu526VW2X6ds08oEeYeoAHeOC6tdDCVQ1vQPm7yODiVh+N/Fph2Xi98+ATM6D8XWS0tnnQVKO9Mv0Fn/givCSidUFtlfkqd6v8TqZzNfOAHmHqAR7gges2BdrzcMm8it6FZkzFIWMhM7QyYbkkjzGZfsBc/hvvk2fmhTwOHz7cTa3cgt0KeeRFGzKMJDTOJ36NyB49R5XjYYsXiVomdavQ8md/7oGHVT3W/jo/4+M/rEePCjys6lEUEasJ6qlVHgc68jPe2BBtpUfevVT3ftou9zGThS9ogBLNM31Bc86rVaOtwOMI3RNk+pNtHvJGdIWH0Jt764qHitsKKscjjsukbprLnnhAjzD1AA/wwHXL0OlSXsHmOW1ksGJyqV2l0gyXWzbbUjxk+ivF5HpEFMvwvEwNTud5W09ZHiIaoRyjLh5pyBop9zJXjssOKqpa5pBHHjb0sHFebOgRSv1opXoKPaCH9/tYoeGSaZJ5Joxmu7KLa6O1xWORTO+LaERaT6LSPMC/3VrEo6+vb0gmbR4yLRfT1920wiMDvRmV42GHF61a5qBHHlX1sHVequoRSv1otXoKPaCH9/uYySjlpOHFcGq0FnmQEc4V0YtyGth0Pad+3jZXTMWuLUSK8U7jkWK0TngomJ1SQY46rqRqmbTU2agnHjb0sHFebOgRSv1opXoKPaBHEPcx4/B8bGbLRw529Cp/144SPFbxJ40o3q1s38kC7lL2McEQm2tvojuibh4ruZKoleOvHF+0apnDHnnY0MPGebGhRyj1o5XqKfSAHkHcxzrLHsgtTS9mW5JHPHgpbah3vG1OBSpDQi9kkysey5Tvr9Z00aplvuGRhw09bJwXG3qEUj9aqZ5CD+gRxH1slmg/XNDcpgXdKREpUyus8hBTL/ipcjxY00WrljnokYdNPaqcF5t6hFI/WqGeQg/oEcR9rB0Nt9GCPBaIaAj76zU+IaeV6YOHbT0agejRaHI9Qqmn0AN6BHMf6xRAK2AZVw56Epv0WKYPHtAjTD3AAzxw3cJwr+IeTq3A47KHiyWtzMsBXLS2eJieF1d6hFI/mrWeQg/oEcx9rB27lGN0tRCPox54Hw2Ehys9ugLRo6tJ9RCoH9AD97Hp6Gg0Qnml6QbKOp+0AkrR6ie01vH1hmt/akEZNKXNw3CNWqAElPWKtc+L4RrGTcUD9XQ6lHWTtfXY2MK31FDup82KdupSpqW4xnN+jxewbhceAOoH6in0gB41op26lGm493XgAaB+oJ5CD+jhAy3fpQwAAAAAQbVwi2JeukDaux/wCAf/4t+OeC3/7/7NEugRsB4A0AzYdvhGr+Xv6Pv06nfMwwUAAACAOlu4BrhJROGXaGFqWk9zMW8/K6JA7G+KaFj1J465txWPOlpXzdSCgh7TUUePjE4PjDKq1xl0RgGHwkMZ1esMOqOAQ+FRR2tTbVE2s+HS6hsUbqk3S2/+pCgLFCmCoi5QqCbbAQ7AAwAAAGg66HQp04Tm/TKdZnO5SA+QMq2T6U427Vn8fR3/dpEN6RQfa2NSNHhMgea/vSKiuXCNkuk859FjWOZ3PPOAHmHqAR7ggeu2gEeR4VIQ4d/K9JhMl0QU9/BmmX4q03HqqRDRMliX+ftx/u1m3vcSH/tbzqsswGMKi2R6X0Td2FUr+wOc160GZX7okQf0CFMP8AAPXLcaPPIMl4LvnuBWHE1iXiHTFhG9lyzCBO+7go/t5bxml/hHwGM6nq340JD2EPGsQZkTHnlAjzD1AA/wKMuDXrHdJVNHyXQX51H1uq2FR57hPi/TUhEtz0WZnSkh6hk+dozzer5EHuAxHauEfawq8bsPHtAjTD3AAzzKHvNgyXupek990MJ1WwuPLMOlAT+Piihawv0yjabs80vNFtoo5zHJeZoM/QSPmeh2cMHMKVGmDx7QI0w9wAM8yvIYt1D+uIXrthYeWYb7c/7cm+P6ZBY0cGiBpvvvTeStA/AAAAAAWgJphkvzSGkqC/Vx79Fo+f1OptUaZe3hPFeKqbmqeQAPAAAAoKUNdz1/viGi6SxFoJfENABoW8F+lNeRRBl5AA8AAACgpQ03np9kGoR3u0y/Efkj4AYTZeQBPAAAAICWNtxF/HmuRH5rZHpPZHeRjiTKyAN4AAAAAC1tuPP4s+yoLVpb+G2Zfpzy24VEGXkADwAAAKClDdcWrknZ1uXhfwQPAAAAIEjDjVtd80vmSfNMl8t0MOW3nkQZeQAPAAAAoKUNN35XWea9IoWi+7aYejeZhMn7UPAAAAAAWgZp4fneEdHcUJqqctwgrx0yDRTss1opowgueVB+VwNEJmOJJuJ+hsIDcAdaavNpEYVQHIs31hFzV4dHFh+H8XpTeWTF3G2DepqqR1bMXZ04ua2oR1bMXZ04ue1suK/KtFWmtSJa9qpocX6aT/qvRDRPNQ+U1waljCK44mGKUHgAbkC9C3cLvTnW4IH6AT2gR2mkdSmfFVHUAzKXzQXH0753aprLZs5ziI8TGnnb5pEW97AojmEoPAA36FduHj7PC3igfkCPNjRcwd0FhKdE9uL6h/hJ5xONciiPJxJ568Amj6y4hzpxDEPhAdjHm4GcF/BA/YAebWq49LKIRtXStJVjGU8rj4gooHoRejiP2ZynyYsxmzziuIeT/JR2Pad+3pYXxzAUHoQJB/Xgq4LfJwLh4UKPiRLnZSIQHqKFeTRz/YAe+nrYaAn3WLiP1cIjbx7ukyKKakOZ0MINS0sQWMrH9nBeT5bIwwYPQhyjkAYy7RTRy/4x/j6Q2CdkHicdPrWalOmDh0s9TM7LyUB4iDbg0Yz1A3ro6/GiKD/lUvCxL1q4j9XCI89wqbV2n4jeX1LIuVP8xKITT7Gb9z3Fxw5xXpdK/CNVeSS/H0rZL942pwl4qO9QbOAi5yk0y+z2yMOlHibnxaUeodSPZqyn0KP59KCZK5+LqXfApulzzqPqfawWHp0aJ/VeFpC6hGm07scy7RfROsHqGsGLedt+3mcrH3OI87hYsXKV5ZHEBc1tofL4UKbbRTR6ukrQ5HHO43bOU7fMWz3ycKmHyXlxqUco9aMZ6yn0gB5B38dmaWRE/fH0fvJlmXaJKLLNY5zyQPNXt3CL0AbK8kii0QI8qOvmL0W9SCvTBw/XejQC0aPRZHqEUk+hB/QI9j42y2BfMk4ahUuj02gRiFXcLI9bdTQlhl5Av8lO72r1JFMeohV4OFzkoClhSw8Pi1s4ga3FJ7IWt9BFKIs+2OKRtbiFLkJZ9MEWj6zFLXSxo+/Ttr5vzSpxDBnpTk4+UZXHPfz5VovwAOwilPMCHqgf0KPVDDeU5dls88h5Yu9qBh6t0IpsUnTVqUtOS7srdD1QP4CQ9QipVT2rjSoE9dOrc61OZOzTLjwA1A/UU+gBPWpEZxv9rzTQKW8U2jjv0y48ANQP1FPoAT3QwnWCQZmuAw8A9QP1FHpADx/oaDQQOgkAAAAA0MIFvMH3lJnQBm1BDwBoPmw7fKPX8tVBW504HQAAAACAFi5QY+uqmVpQ0GM6qi5YoQOdqXJVF4rQgc6iFqHwqLpQhA50FrUIhUcdrc2QF9dACxcAAAAAfLZwXT0hmi65FgoPVy2Ikgts0Py352RaJsrHcaQ5csMyPS305svFZe4T0TrZvnhAjzD1AA/wwHVbwAMt3OYDrd38vkwPiGpBk3s4D8rrVoMyP/TIA3qEqQd4gAeuWw0eOobbsJSqAjwiUAzeuRYNfC7nqVvmhEce0CNMPcADPMryoCAwd8nUUTLdxXlUvW5r4YFBU82HVR7yXBUID+gRph7gAR5lj3lQVItDe4bz+LzidVsLD9Mu5R0y3aC4+m7ltwPK9r/gfS87Mp125tFd8PtPZLpkmOecEmX64AE9wtQDPMCjLI8sk/ulTLM18xq3cN3WwsPEcCmY/IBMoxr7nuN9n3RgcuCRj4MyLdfkBR7gAR7gESKPR2U6LdOCVuKha7jDidabLl7gY20BPPRAk1S/LaL1Tn0CPMADPMCjLGgi/O9kWt0qPHQNd0uFMp6x3KoEDz1clOk+EXVl+wR4gAd4gEdZ0CAkCv23rRV46BhuR8VW2TucR1WARzlQV/Z3+QLyCfAAD/AAj7LYLtNvhN0R1rXzwDzc9sAbMt0p01nwAA/wAI8m5bFGpvdkWtysPGC47YNPZLpbpkPgAR7gAR5NyuMmmd6W6cfNyAOG2364DB7gAR7g0eQ8rmlGHlj4on1Aw9pfE9GIO/AAD/AAj2bkQdOV7hfRSOqm44EWbnuAVj75XQAXC3iAB3iAR1m8KaLpSiPNyqNtW7h5UYg2NurjkReFqGQkoSRoGPv2ACQPmQdF96AoH8NCifThOOauNo8sPpbi9WrzyKqrbVBPU/XIuodYun80hR4dnV1X9fh/XvxGagb/6yP/zQYPmp40EIAelXigS7l1QcPW/0ZEI+rAI5sHrQJGg0EugkdQPFA/AtZDGm1delA5/0pEI6V9wgqPdutSphBKr8h0XkxF7TnP23paiAcNV38vgIu2GXj0KzdTn+cFPFA/mkIPxWxd60HTkO4MwGyt8Wgnw82Ke1g1rmNoPGiYOg1Xv8mz3s3C481Azgt4oH5Ajykc4p6FTzzrYZVHOxluHPdwkp9ar+fUz9vKxnWsm8dEQf4vCv3oFjG+Kvh9IhAeLvSYKHFeJgLhIVqYRzPXj5bVQ7ZubeuR1RJ+ROhHLeqxcB+rhUdVw1XDEM0W/qDDI45RSC+8d4roxf8Yfx9I7BMyj5MO9Huz4PeTgfBwqYfJeTkZCA/RBjyasX5AD309yODnV+Axn/Ooeh+rhUdZw6U5WRtk+pGyjf7eKtPSGs3XhEe30kWQ1m2QNMxQeajvlGzgIucpNMvs9sjDpR4m58WlHqHUj2asp9Cj+fSgCDwUtL1RMn3OeVS9j9XCo4zhUuafyfS3YnpA3y7uQnhXpj/WYLZleVzQ3BYqjw9lul2mV0V20GQdjHMet3OeumXe6pGHSz1MzotLPUKpH81YT6EH9Aj6PlZmWlCdkW5c8Gi0AA/quvnLmvVOK9MHD9d6NALRo9FkeoRST6EH9Aj2PoZ5uE0CS4scQI8EHC9uURssLT6RuxCLDupcNKYOHgcqNi+WPBqGILZ4ZC1uoYsdfZ+29X1rVqtfODkXzD38+VYdN7ScG5kRD6A2hHJewAP1A3q0uuG2AbrAA63qMufFhS45LW3UU9w/oEeLtKrbyXCpn16da3UiY5924QGgfqCeQg/oUSPaaeELmsCcNwptnPdpFx4A6gfqKfSAHmjhOsGgTNeBB4D6gXoKPaCHD3Q0Gg2oAAAAAABo4QJJ2J7KojMIqI7pM2UHI0GP6ag6tSeJsiP0D1iesV92xkIoPEYO2iVSdqpPKDy2Hb7RKg+dwVG2yzTl0W7h+dodNJJwfQBl+uABPcLUAzzAo22uWxhue5ntK6Le4ftpZfrgAT3C1AM8wKOtrlsYbnvgGhGt9fx9mYY9lumDB/QIUw/wAI+2u24z3+EecLRisun7j1B42H4vFsPWknwFFeYV7vr4QKbRmippskwfPKBHmHqAB3i05XWLFm57tGzj9wyDNZdJwZ0f8cQDeoSpB3iAR9tetzqjlG3NG6raVgWPchXmAWXbUI1lUiW9V6YRDzygR5h6gAd4tPV1ixZu67Zs/yZROS7JdLKmMr+S6T6upHXzgB5h6gEe4NH2162p4e6Q6QZunVHarfx2QNn+F7zvZUeigEd+hfmVTBsS24e4krgu8yt+IjzjgQf0CFMP8AAPXLfCbOGLLQlDycM5mQZkuiDTfsuigEdxhflRym9DNZR5iZ8Iz3jgAT3C1AM8wAPXrWELd9jAXFS8IOwO3waPfLyYUTkIbzgu8xI/EQ574gE9wtQDPMAD162h4W6p8I88Y7lVCR7poCexhzJ+o8gdHzgsM34iHPbEA3qEqQd4gAeuW0PD7ajYKntH2BmRCx75T2cP5fw+n/eZ76BMqqTf5S4WHzygR5h6gAd44Lot2cIFwgWd+B9r7Ef7/AeZnhLVl0WLy6RKuk5Eo/V88IAeYeoBHuCB6xaG23L4pWbliNEt03My/YNMayqWGVfSNz3xgB5h6gEe4IHrFobbknhdpo9KHLdQprUVy5wtonlp8z3xgB5h6gEe4IHrFobbkqClxf65TE+LaEUUXRyS6ScWylzP3Sq3yvTtmnlAjzD1AA/wwHULw21ZTMq0V0SLaxzS2P8lEa0LaqvMV7lb5Xcimm9cJw/oEaYe4AEeuG5TMEu0KfKiEG1s1McjLwqRYSShcT7xa0T26DmqHA9bpK+WSd0qtPzZn3vgYVWPf/FvR3Iz/rt/s6QWPSrwsKpHUaSsJqinVnkURTAzvH80vR4jB/MFWfJoA/cxtHBbErcVVI5HHJdJ3TSXPfGAHmHqAR7ggeu2TQ23R0SxDM+LKOpPg7+/wr81O4+skXIvc+VwsZazWuaQRx429LBxXmzoEUr9aKV6Cj2gh/f72KwDHcI7auKwSKa3ZZqbUmlolNoqmZb/2UuHP3QUa96Ih0wflsi7N6NyPOzwolXLHPTIo6oets5LVT1CqR+tVk+hB/Twfh9La+F2iekTeZN/1wXbPJ7lykEvyvtlup5TP2+by/uEyqMIs1MqyFHHlVQtk5Y6G/XEw4YeNs6LDT1CqR+tVE+hB/QI4j42K8VcjvH3+/nzNf5cx0KqmJMgbdNsbfNYxZ8UtUcNPLCTBdyl7BMaDx2sTJRJleOvHF+0apnDHnnY0MPGebGhRyj1o5XqKfSAHkHcxzpTzGW1TItF9LK4h7+v5t/ilh2tsEHxAdVICvT3VpmWVjRfVzy6+TNtqPehFMMMhYculinfX63polXLfMMjDxt62DgvNvQIpX60Uj2FHtAjiPtYZ4q5UMzWe2T6RESrbtzD22KTIfOgScGLFNHjPKgL4V2Z/mjBbF3xuKCxLRQeJlijVI4Ha7po1TIHPfKwqUeV82JTj1DqRyvUU+gBPYK4j3VmmIv6ovvDhMm8xiZDXQkdOcmG2brg0chIofEwwQIRDWF/vcYn5LQyffCwrUfZ82Jbj1DqR7PXU+gBPYK5j5HhXpPYlpZ5Hf84eFTrEnmdn8QmPZbpgwf0CFMP8AAPXLcJ0KApipZwP7fUqMV2SqYVSqvuVt42j5vb9/MxtldkcsIjZ8rRPfz5li0eeSvu5KzWk8XDBJc9XCxpZV4O4KK1xcP0vLjSI5T60az1FHpAj2DuY50JkxlkIyHRbhLRMldvpZmLI9TJI296Tyg8dHHUw0WbVubRAG4etniYnhdXeoRSP5q1nkIP6BHMfWxWRsuOMM6fZ/nTtdm65jEmpq9+ciJjn9B4zIDhGrpW4KPMOrgp6xUbnRfbepTlkQbDtY2zemIq86hzTXJXPJQessp6GK4p7AxVeCjrJlfWY0ffp7X/7z7KTGvhJk0mNpPk33XBBY9HFNNMQ7yAdYg8APcI5byAB+oH9GhR/P8CDADf08qDYpVhFgAAAABJRU5ErkJggg==);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class="current tsd-kind-class tsd-parent-kind-namespace">
+			<a href="helpers.inmemorystorage.html" class="tsd-kind-icon">In<wbr>Memory<wbr>Storage</a>
+			<ul>
+				<li class=" tsd-kind-property tsd-parent-kind-class tsd-is-private">
+					<a href="helpers.inmemorystorage.html#items" class="tsd-kind-icon">items</a>
+				</li>
+				<li class=" tsd-kind-get-signature tsd-parent-kind-class">
+					<a href="helpers.inmemorystorage.html#length" class="tsd-kind-icon">length</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-class">
+					<a href="helpers.inmemorystorage.html#clear" class="tsd-kind-icon">clear</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-class">
+					<a href="helpers.inmemorystorage.html#getitem" class="tsd-kind-icon">get<wbr>Item</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-class">
+					<a href="helpers.inmemorystorage.html#key" class="tsd-kind-icon">key</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-class">
+					<a href="helpers.inmemorystorage.html#removeitem" class="tsd-kind-icon">remove<wbr>Item</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-class">
+					<a href="helpers.inmemorystorage.html#setitem" class="tsd-kind-icon">set<wbr>Item</a>
+				</li>
+			</ul>
+		</li>
+		<li class=" tsd-kind-function tsd-parent-kind-namespace">
+			<a href="../modules/helpers.html#contextfiletoexercisefile" class="tsd-kind-icon">context<wbr>File<wbr>ToExercise<wbr>File</a>
+		</li>
+		<li class=" tsd-kind-function tsd-parent-kind-namespace">
+			<a href="../modules/helpers.html#createstoragebasedapi" class="tsd-kind-icon">create<wbr>Storage<wbr>Based<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-function tsd-parent-kind-namespace">
+			<a href="../modules/helpers.html#enableofflineusageifnecessary" class="tsd-kind-icon">enable<wbr>Offline<wbr>Usage<wbr>IfNecessary</a>
+		</li>
+		<li class=" tsd-kind-function tsd-parent-kind-namespace">
+			<a href="../modules/helpers.html#isfile" class="tsd-kind-icon">is<wbr>File</a>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel tsd-comment">
+			<div class="tsd-comment tsd-typography">
+				<div class="lead">
+					<p>Storage auf Basis einer Map. Kann z.B. bei Unit-Tests verwendet
+					werden, beid denen der LocalStorage nicht verfügbar ist.</p>
+				</div>
+			</div>
+		</section>
+		<section class="tsd-panel tsd-hierarchy">
+			<h3>Hierarchy</h3>
+			<ul class="tsd-hierarchy">
+				<li>
+					<span class="target">InMemoryStorage</span>
+				</li>
+			</ul>
+		</section>
+		<section class="tsd-panel">
+			<h3>Implements</h3>
+			<ul class="tsd-hierarchy">
+				<li><span class="tsd-signature-type">Storage</span></li>
+			</ul>
+		</section>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section tsd-is-private tsd-is-private-protected">
+						<h3>Properties</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><a href="helpers.inmemorystorage.html#items" class="tsd-kind-icon">items</a></li>
+						</ul>
+					</section>
+					<section class="tsd-index-section ">
+						<h3>Accessors</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="helpers.inmemorystorage.html#length" class="tsd-kind-icon">length</a></li>
+						</ul>
+					</section>
+					<section class="tsd-index-section ">
+						<h3>Methods</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-method tsd-parent-kind-class"><a href="helpers.inmemorystorage.html#clear" class="tsd-kind-icon">clear</a></li>
+							<li class="tsd-kind-method tsd-parent-kind-class"><a href="helpers.inmemorystorage.html#getitem" class="tsd-kind-icon">get<wbr>Item</a></li>
+							<li class="tsd-kind-method tsd-parent-kind-class"><a href="helpers.inmemorystorage.html#key" class="tsd-kind-icon">key</a></li>
+							<li class="tsd-kind-method tsd-parent-kind-class"><a href="helpers.inmemorystorage.html#removeitem" class="tsd-kind-icon">remove<wbr>Item</a></li>
+							<li class="tsd-kind-method tsd-parent-kind-class"><a href="helpers.inmemorystorage.html#setitem" class="tsd-kind-icon">set<wbr>Item</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group tsd-is-private tsd-is-private-protected">
+			<h2>Properties</h2>
+			<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class tsd-is-private">
+				<a name="items" class="tsd-anchor"></a>
+				<h3><span class="tsd-flag ts-flagPrivate">Private</span> items</h3>
+				<div class="tsd-signature tsd-kind-icon">items<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Map</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> = new Map()</span></div>
+				<aside class="tsd-sources">
+					<ul>
+						<li>Defined in Helpers.ts:181</li>
+					</ul>
+				</aside>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Accessors</h2>
+			<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
+				<a name="length" class="tsd-anchor"></a>
+				<h3>length</h3>
+				<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
+					<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> length<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:183</li>
+							</ul>
+						</aside>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
+					</li>
+				</ul>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Methods</h2>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
+				<a name="clear" class="tsd-anchor"></a>
+				<h3>clear</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+					<li class="tsd-signature tsd-kind-icon">clear<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:186</li>
+							</ul>
+						</aside>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
+				<a name="getitem" class="tsd-anchor"></a>
+				<h3>get<wbr>Item</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+					<li class="tsd-signature tsd-kind-icon">get<wbr>Item<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:189</li>
+							</ul>
+						</aside>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>key: <span class="tsd-signature-type">string</span></h5>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
+				<a name="key" class="tsd-anchor"></a>
+				<h3>key</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+					<li class="tsd-signature tsd-kind-icon">key<span class="tsd-signature-symbol">(</span>_index<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:193</li>
+							</ul>
+						</aside>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>_index: <span class="tsd-signature-type">number</span></h5>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
+				<a name="removeitem" class="tsd-anchor"></a>
+				<h3>remove<wbr>Item</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+					<li class="tsd-signature tsd-kind-icon">remove<wbr>Item<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:196</li>
+							</ul>
+						</aside>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>key: <span class="tsd-signature-type">string</span></h5>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
+				<a name="setitem" class="tsd-anchor"></a>
+				<h3>set<wbr>Item</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
+					<li class="tsd-signature tsd-kind-icon">set<wbr>Item<span class="tsd-signature-symbol">(</span>key<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:199</li>
+							</ul>
+						</aside>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>key: <span class="tsd-signature-type">string</span></h5>
+							</li>
+							<li>
+								<h5>value: <span class="tsd-signature-type">string</span></h5>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
+					</li>
+				</ul>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+					<ul class="tsd-legend">
+						<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
+					</ul>
+					<ul class="tsd-legend">
+						<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
+					</ul>
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/globals.html b/docs/globals.html
new file mode 100644
index 0000000..9ef21ff
--- /dev/null
+++ b/docs/globals.html
@@ -0,0 +1,3121 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>@mathcoach/ide-api | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<div class="tsd-panel tsd-typography">
+			<a href="#mathcoach-ide-api-smallcodeversion-300codesmall" id="mathcoach-ide-api-smallcodeversion-300codesmall" style="color: inherit; text-decoration: none;">
+				<h1>MathCoach IDE API <small><code>Version 3.0.0</code></small></h1>
+			</a>
+			<p>In diesem Paket (<a href="https://newton.htwsaar.de/gitblit/summary/mathcoach!mathcoach-ide-api.git">Das Gitblit Repository findet sich hier</a>)
+				ist die öffentliche Schnittstelle zur MathCoach Entwicklungsumgebung (IDE) definiert. Mithilfe
+				dieser Schnittstelle können externe Werkzeuge (z.B. Editoren) erstellt werden. Ziel ist, dass
+				diese Werkzeuge für den Anwender komfortable - in die IDE integriert -zur Verfügung gestellt werden
+			können. Darüber hinaus werden als Ergänzung einige Hilfsfunktionen zum Bau von Werkzeugen angeboten.</p>
+			<p><img src="media/usage_author.gif" alt="Demo"></p>
+			<p><em>Beispielhafte Anwendung: Eine Datei (<code>file.demo.json</code> - auch &quot;Kontext-Datei&quot; genannt) wird angelegt. Diese kann direkt durch das Werkzeug (Demo-Editor) geladen werden. Das Werkzeug kann die Kontext-Datei beschreiben (um zu demonstrieren, dass es ein internes Datenmodell persistent speichern kann). Weiterhin kann das Werkzeug eine Groovy-Aufgabe generieren und die Aufgaben-Vorschau anzeigen lassen.</em></p>
+			<a href="#idee" id="idee" style="color: inherit; text-decoration: none;">
+				<h2>Idee</h2>
+			</a>
+			<p>Grundlegende Idee ist, dass ein externes Werkzeug nahtlos in die MathCoach IDE integriert werden
+				kann. Bestimmte Dateien werden anhand ihrer Dateiendung mit dem Werkzeug verknüpft, sodass der
+				Benutzer das passende Werkzeug durch einen einfache Klick im Datei-Explorer starten kann. Diese
+				Datei wird im folgenden <em>Kontext-Datei</em> genannt und soll dazu dienen, das interene Datenmodell (also
+				alle Informationen, die der Benutzer im Werkzeug angibt) zu speichern. Das Werkzeug soll das gespeicherte
+			Datenmodell zu einem späteren Zeitpunkt wieder laden können.</p>
+			<p>Ein Werkzeug kann beispielsweise MathCoach-Aufgaben (Groovy-Datei) generieren. Weitere Funktionalitäten
+				der IDE - beispielsweise das Starten der generierten Aufgabe in der Aufgaben-Vorschau der IDE - sind
+			ebenfalls für den Werkzeugentwickler verfügbar.</p>
+			<p>Das Realisieren von Werkzeugen auf diese Art und Weise hat zahlreiche Vorteile:</p>
+			<ul>
+				<li>Werkzeuge werden einheitliche und benutzerfreundlich zur Verfügung gestellt</li>
+				<li>Grundlegende Funktionalitäten (Anlegen von Dateien, Navigieren im Dateisystem) werden bereits
+				durch die IDE bereitgestellt. So können Werkzeug-Entwickler ihren Fokus auf das Werkzeug legen.</li>
+				<li>Die IDE kann gefährliche Situationen (z.B. das Überschreiben von Dateien) abfangen
+				und den Benutzer entscheiden lassen, wie fortgefahren werden soll.</li>
+			</ul>
+			<a href="#entwicklung-externer-werkzeuge" id="entwicklung-externer-werkzeuge" style="color: inherit; text-decoration: none;">
+				<h2>Entwicklung externer Werkzeuge</h2>
+			</a>
+			<p>Externe Werkzeuge laufen ausschließlich im Webbrowser des Benutzers - es muss also
+				auf <code>HTML</code>, <code>JavaScript</code> und <code>CSS</code> gesetzt werden. Außerdem muss das Werkzeug unter
+				der Domain des jeweiligen MathCoach-Servers erreichbar sein. Zur Entwicklungszeit legt man das Werkzeug
+				dazu im www-Verzeichnis ab. Die von der IDE bereitgestellte <code>ide-lib.js</code> Bibliothek
+			muss eingebunden werden.</p>
+			<pre><code><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/mathcoach/ui/ide/ide-lib.js"</span>/&gt;</span> </code></pre><p>Dabei darf der MathCoach-Server <strong>nicht</strong> fest in die URL eincodiert werden. Andernfalls
+				kann es zu Problemen kommen, wenn das Werkzeug auf unterschiedlichen Server bereitgestellt
+				wird oder ohne IDE lauffähig sein soll. Bei korrekter Verwendung steht die IDE API nun
+			durch die globale Varialbe <code>MC</code> zur Verfügung - <a href="./interfaces/mathcoach.api.html">Dokumentation der IDE API</a>.</p>
+			<blockquote>
+				<p><strong>Hinweis</strong>: Es steht <strong>ausschließlich</strong> die API, welche über die globale Variable <code>MC</code>
+					definiert ist, zur Verfügung! Hilfsfunktionen wie <code>Helpers.enableOfflineUsageIfNecessary()</code>
+					sind grundsätzlich nicht verfügbar und müssen vom Werkzeugentwickler eingebunden
+				werden - siehe &quot;Hilfunktionen für Werkzeug-Entwickler&quot; weiter unten.</p>
+			</blockquote>
+			<blockquote>
+				<p><strong>Hinweis</strong>: Erst, wenn das Werkzeug in die IDE integriert und aus dieser heraus
+					gestartet wurde, kann die IDE API verwendet werden! Soll das Werkzeug auch ohne die
+					IDE nutzbar sein (z.B. zum Testen), muss dies bei der Implementierung berücksichtigt
+					werden. Konnte die <code>ide-lib.js</code> nicht eingebunden werden (weil das Werkzeug ohne IDE
+					gestartet wurde - darum darf auch kein Server fest eincodiert werden), steht die
+					globale Variable <code>MC</code> nicht zur Verfügung (<code>typeof MC === &quot;undefined&quot;</code>). Hier kann das
+					Werkezug eine Fallunterscheidung treffen und beispielsweise eine eigene Implementierung
+					über die globale Variable <code>MC</code> bereitstellen. Siehe auch <code>Helpers.enableOfflineUsageIfNecessary()</code>
+				weiter unten.</p>
+			</blockquote>
+			<a href="#empfohlenes-vorgehen" id="empfohlenes-vorgehen" style="color: inherit; text-decoration: none;">
+				<h3>Empfohlenes Vorgehen</h3>
+			</a>
+			<p>Damit externe Werkzeuge ein einheitliches Verhalten aufweisen, sollte wie folgt vorgegangen werden.</p>
+			<p>Als erstes muss sichergestellt werden, dass die MathCoach IDE API auch verfügbar ist. Dies ist
+				beispielsweise nicht der Fall, wenn das Werkzeug ohne die IDE gestartet wurde oder die IDE (aus
+			welchen Gründen auch immer) nicht einsatzbereit ist.</p>
+			<pre><code><span class="hljs-keyword">if</span>(<span class="hljs-keyword">typeof</span> MC === <span class="hljs-string">"undefined"</span>){
+    <span class="hljs-comment">// Hinweis: Hier kann die IDE API nachgebildet werden,</span>
+    <span class="hljs-comment">// sodass das Werkzeug auch "Offline" funktioniert. </span>
+    <span class="hljs-comment">// Also: MC = { isReady: async () =&gt; true, ...}</span>
+    <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(<span class="hljs-string">"IDE Lib nicht eingebunden"</span>); <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> show error to user</span>
+}
+<span class="hljs-keyword">const</span> isReady = <span class="hljs-keyword">await</span> MC.isReady();
+<span class="hljs-keyword">if</span>(!isReady){
+    <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(<span class="hljs-string">"Die MathCoach-API ist nicht einsatzbereit."</span>); <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> show error to user</span>
+}
+...</code></pre><p>Von nun an kann die IDE API vollständig genutzt werden. Zunächst sollte die Kontext-Datei (die 
+			Datei, mit der das Werkzeug gestartet wurde) geladen werden.</p>
+			<p>Ist der Inhalt der Kontext-Datei leer, wurde die Datei neu angelegt und zum ersten mal geöffnet.
+			Nun soll das Werkzeug:</p>
+			<ul>
+				<li>Sich initialisieren. Es ist sinnvoll, dass das Werkzeug mit einem beispielhaften
+				Datenmodell inititalisiert wird.</li>
+				<li>Das interne Datenmodell in die Kontext-Datei schreiben </li>
+				<li>Die zugehörige Aufgabe generieren. Siehe auch <code>contextFileToExerciseFile</code> in der <a href="./modules/helpers.html">Dokumentation der Hilfsfunktionen</a>.</li>
+			</ul>
+			<p>Andernfalls kann das zuvor gespeichertes Datenmodell aus der Kontext-Datei in den
+				Editor geladen werden. Anschließend sollte die generierten Aufgaben in der Vorschau gestartet werden, sodass der
+			Benutzer besser abschätzen kann, wie sich Änderungen im Werkzeug auf die Aufgabe auswirken.</p>
+			<pre><code><span class="hljs-keyword">let</span> contextFile = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span>; <span class="hljs-comment">// Datei, mit der der Editor gestartet wurde</span>
+<span class="hljs-keyword">let</span> contextFileContent = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.fs.read<span class="hljs-constructor">File(<span class="hljs-params">contextFile</span>)</span>;
+<span class="hljs-keyword">let</span> contextFileIsEmpty = contextFileContent<span class="hljs-operator"> === </span><span class="hljs-string">""</span>;
+
+<span class="hljs-keyword">let</span> exerciseFile = context<span class="hljs-constructor">FileToExerciseFile(<span class="hljs-params">contextFile</span>)</span>;
+
+<span class="hljs-keyword">if</span>(contextFileIsEmpty){
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Datenmodell anlegen (Idealerweise mit beispielhaften Inhalt)</span>
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Datenmodell in Kontext-Datei schreiben, z.B. mit JSON.stringify(...)</span>
+    <span class="hljs-keyword">let</span> dataModelAsString = <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">JSON</span>.</span></span>stringify({<span class="hljs-comment">/* TODO */</span>});
+    await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.fs.write<span class="hljs-constructor">File(<span class="hljs-params">contextFile</span>, <span class="hljs-params">dataModelAsString</span>)</span>;
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Aufgabe generieren</span>
+    <span class="hljs-keyword">let</span> generatedExerciseCode = <span class="hljs-string">"startup { print('Hallo Welt!') }"</span>; 
+    await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.fs.write<span class="hljs-constructor">File(<span class="hljs-params">exerciseFile</span>, <span class="hljs-params">generatedExerciseCode</span>)</span>;
+}<span class="hljs-keyword">else</span>{
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Datenmodell laden, z.B. mit JSON.parse(contextFileContent)</span>
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> (Aufgabe neu generieren)</span>
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> init application based on your data model</span>
+}
+
+<span class="hljs-comment">// Aufgabe anzeigen</span>
+await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.navigator.navigate<span class="hljs-constructor">ToExercise(<span class="hljs-params">exerciseFile</span>)</span>;</code></pre><p>Jedes Werkzeug sollte über eine &quot;Speichern&quot;-Funktion verfügen, mit der der Benutzer:</p>
+			<ul>
+				<li>Das interne Datenmodell in die Kontext-Datei speichert (sodass es später wieder geladen werden kann)</li>
+				<li>Die zugehörige Aufgabe wird generiert und die Vorschau zu dieser navigiert</li>
+			</ul>
+			<a href="#hilfsunktionen-für-werkzeug-entwickler-ide-tool-utils" id="hilfsunktionen-für-werkzeug-entwickler-ide-tool-utils" style="color: inherit; text-decoration: none;">
+				<h3>Hilfsunktionen für Werkzeug-Entwickler (IDE-Tool-Utils)</h3>
+			</a>
+			<p><a href="./modules/helpers.html">Dokumentation der Hilfsfunktionen</a></p>
+			<p>Dieses Paket beinhaltet zusätzlich Hilfsfunktionen (auch IDE-Tool-Utils genannt) für
+				Werkzeug-Entwickler. Diese sind aktuell in <code>TypeScript</code> implementiert, liegen jedoch
+				auch als ES6-JavaScript und Standalone-Bibliothek zur direkten Verwendung vor. Keine der
+			Hilfsfunktionen wird durch die <code>ide-lib.js</code> ausgeliefert!</p>
+			<blockquote>
+				<p><strong>Hinweis</strong>: Hilfunktionen ohne Build-System bereitzustellen gestaltet sich schwierig und
+				bringt große Nachteile mit sich:</p>
+				<ul>
+					<li>Als reine JavaScript-Datei - platziert auf einem Server - ist die die
+						Offline-Fähigkeit (siehe <code>Helpers.enableOfflineUsageIfNecessary()</code>) von Werkzeugen nicht
+					gewährleistet, da eine Internetverbindung zum Zugriff notwendig ist.</li>
+					<li>Werden Dateien oder Code-Ausschnitte von Hand kopiert, muss der Werkzeug-Entwickler sich
+					um das Aktualisieren kümmern. </li>
+				</ul>
+				<p>Als Kompromiss werden die Hilsfunktionen als reine JavaScript-Datei (ES5 oder ES6)
+				bereitgestellt, sodass diese auch ohne TypeScript nutzbar sind.</p>
+			</blockquote>
+			<p>Die IDE-Tool-Utils können wie folgt genutzt werden</p>
+			<a href="#build-system-mit-typescript-empfohlen" id="build-system-mit-typescript-empfohlen" style="color: inherit; text-decoration: none;">
+				<h4>Build-System mit TypeScript (empfohlen)</h4>
+			</a>
+			<p>Das Paket <code>@mathcaoch/ide-api</code> muss als npm-Abhängikeit in der <code>package.json</code> des Werkzeugs
+				angegeben werden. Fortan können die in TypeScript implementierten Hilfsfunktionen - aber
+				auch die Schnittstellen der IDE-API - komfortabel verwendet werden. Eine bestmögliche Typsicherheit ist
+			gegeben.</p>
+			<pre><code>import { Helpers, MathCoach } from <span class="hljs-string">"@mathcoach/ide-api"</span>;
+<span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Helpers</span>.</span></span>enable<span class="hljs-constructor">OfflineUsageIfNecessary()</span><span class="hljs-operator">
+...
+</span>const file:MathCoach.File = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span></code></pre>
+			<a href="#build-system-es6-javascript" id="build-system-es6-javascript" style="color: inherit; text-decoration: none;">
+				<h4>Build-System ES6+ JavaScript</h4>
+			</a>
+			<p>Das Paket <code>@mathcaoch/ide-api</code> muss als npm-Abhängikeit in der <code>package.json</code> des Werkzeugs
+				angegeben werden. Fortan können die in ES6 JavaScript vorliegenden Hilfsfunktionen
+			verwendet werden. Die Entwicklungsumgebung sollte grundlegende Hilfen (Autovervollständigung und eingebettete Dokumentation) anbieten.</p>
+			<pre><code>import { Helpers } from <span class="hljs-string">"@mathcoach/ide-api/dist/es6"</span>
+<span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Helpers</span>.</span></span>enable<span class="hljs-constructor">OfflineUsageIfNecessary()</span>;<span class="hljs-operator">
+...
+</span>const file = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span>;</code></pre>
+			<a href="#standalone" id="standalone" style="color: inherit; text-decoration: none;">
+				<h4>Standalone</h4>
+			</a>
+			<p>Die Hilfsfunktionen liegen als eigenständige Bibliothek vor ( siehe
+				<code>./dist/lib/mathcoach-ide-tool-utils.js</code>). Diese muss händisch kopiert, in das Werkzeug
+				eingebunden und mit ihm ausgeliefert werden. Über die globale Variable <code>MC_IDE_TOOL_UTILS</code>
+				können die Hilfsfunktionen angesprochen werden. Die verwendete Entwicklungsumgebung kann
+			in der Regel nur wenig Unterstütztung anbieten (siehe auch <em>Typdefinition auch ohne Build-System nutzen</em>).</p>
+			<pre><code><span class="xml">// tool.html
+<span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/mathcoach/ui/ide/ide-lib.js"</span>/&gt;</span><span class="handlebars"><span class="xml"> 
+<span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"mathcoach-ide-tool-utils.js"</span>/&gt;</span><span class="handlebars"><span class="xml"> 
+<span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"tool.js"</span>/&gt;</span><span class="actionscript"> 
+
+<span class="hljs-comment">// tool.js</span>
+<span class="hljs-keyword">const</span> </span></span></span></span></span></span><span class="hljs-template-variable">{ Helpers }</span><span class="xml"><span class="javascript"> = MC_IDE_TOOL_UTILS;
+Helpers.enableOfflineUsageIfNecessary();
+...
+const file = <span class="hljs-keyword">await</span> MC.ide.getContextFile();</span></span></code></pre>
+			<a href="#beispiele" id="beispiele" style="color: inherit; text-decoration: none;">
+				<h3>Beispiele</h3>
+			</a>
+			<p>Im Verzeichnis <code>./examples/</code> finden sich Beispiele für externe Werkzeuge.</p>
+			<a href="#entwicklung-kleinerer-werkzeuge" id="entwicklung-kleinerer-werkzeuge" style="color: inherit; text-decoration: none;">
+				<h3>Entwicklung kleinerer Werkzeuge</h3>
+			</a>
+			<p>Für kleiner Werkzeuge bietet es sich an im www-Verzeichnis zu entwickeln  (z.B.
+				<code>myTool/tool.html</code> und <code>myTool/tool.js</code>). Die MathCoach-IDE stellt Autovervollständigung beim
+				Editieren der <code>tool.js</code>-Datei zur Verfügung. Da es sich um eine JavaScript-Datei handelt,
+				ist keine Typsicherheit gegeben. Das Werkzeug muss lokal in die IDE integriert werden, siehe
+			weiter unten.</p>
+			<p><img src="media/usage_tool_developer.gif" alt="Demo"></p>
+			<p><em>Über einen Deklarations-Eintrag in der Datei <code>ide-settings.json</code> kann ein Werkzeug (lokal) in
+					die IDE integriert werden. Der Benutzer kann über das Kontext-Menü Dateien, die mit dem Werkzeug
+					geöffnet werden können, anlegen. Wird im WWW-Teil des Dateisystems entwickelt, bietet die IDE
+			grundlegende Unterstütztung beim Editieren von JavaScript-Dateien</em></p>
+			<a href="#entwicklung-größerer-werkzeuge" id="entwicklung-größerer-werkzeuge" style="color: inherit; text-decoration: none;">
+				<h3>Entwicklung größerer Werkzeuge</h3>
+			</a>
+			<p>Für größere Werkzeuge sollten etablierte Entwicklungswerkzeuge verwendet werden, beispielsweise:</p>
+			<ul>
+				<li><a href="https://nodejs.org/en/">npm</a> um externe Bibliotheken (u.A. dieses Paket) einzubinden</li>
+				<li><a href="https://webpack.js.org/">webpack</a> oder <a href="https://parceljs.org/">Parcel</a> als Build-System um den Quellcode des Werkzeuges zu &quot;bündeln&quot;</li>
+				<li><a href="https://www.typescriptlang.org/">TypeScript</a> zum typsischeren Programmieren (und/oder Dateien zu ES6 oder ES5 konformen JavaScript umzuformen)</li>
+				<li><a href="https://git-scm.com/">Git</a> zur Versionierung des Quellcodes</li>
+				<li><a href="https://code.visualstudio.com/">Visual Studio Code</a> als Entwicklungsumgebung</li>
+				<li>Unit und End-To-End Tests</li>
+			</ul>
+			<p>Das &quot;gebündelte&quot; Werkzeug muss nach dem Build-Prozess in das WWW-Verzeichnis kopiert und ebenfalls
+			lokal in die IDE integriert werden, siehe weiter unten.</p>
+			<a href="#mathcoach-api-als-npm-package-einbinden" id="mathcoach-api-als-npm-package-einbinden" style="color: inherit; text-decoration: none;">
+				<h4>MathCoach-API als npm-Package einbinden</h4>
+			</a>
+			<p>Die MathCoach-API kann auch als npm-Package eingebunden werden, sodass eine typsichere
+				und komfortable Entwicklung (z.B. mit Visual Studio Code) möglich ist. Außerdem wird es
+				möglich die angebotenen <a href="./modules/helpers.html">Hilfsfunktionen</a> zu einzubinden. Hierzu muss
+			die <code>package.json</code> des Werkzeug-Projektes wie folgt ergänzt werden:</p>
+			<pre><code>{
+    ...
+    <span class="hljs-string">"devDependencies"</span>: {
+        <span class="hljs-string">"@mathcoach/ide-api"</span>: <span class="hljs-string">"git+https://newton.htwsaar.de/gitblit/r/mathcoach/mathcoach-ide-api.git"</span>
+    },
+    ...
+}</code></pre><p>Der Git-Repo URL kann man eine Versionsnummer anhängen (z.B. <code>&quot;.../mathcoach/mathcoach-ide-api.git#3.0.0&quot;</code> 
+				für Version <code>3.0.0</code>), sodass die API, falls notwendig, versioniert <a href="https://semver.org/lang/de/">(Semantic Versioning)</a> werden kann. Verfügbare Versionen sind Git-Tags und können in der Weboberfläche des Git-Repositories
+			oder über die Konsole (<code>git tag --list</code>) eingesehen werden. </p>
+			<p>Nun können Hilfsfunktionen (in TypeScript) wie folgt eingebunden werden.  </p>
+			<pre><code><span class="hljs-section">import</span> { <span class="hljs-attribute">Helpers</span> } from <span class="hljs-string">"<span class="hljs-variable">@mathcoach</span>/ide-api"</span>;</code></pre><p>Die Typedefinition sollte automatisch verfügbar sein, sodass der Umgang mit der
+				IDE API (Einstiegspunkt ist die globale Variable <code>MC</code>) durch eine Entwicklungsumgebung
+				wie Visual Studio Code unterstützt wird. Falls nicht, muss man die Typdefinition händisch
+			einbinden (siehe <em>Typdefinition auch ohne Build-System nutzen</em>).</p>
+			<a href="#typdefinition-auch-ohne-build-system-nutzen" id="typdefinition-auch-ohne-build-system-nutzen" style="color: inherit; text-decoration: none;">
+				<h4>Typdefinition auch ohne Build-System nutzen</h4>
+			</a>
+			<p>Beim Arbeiten mit Visual Studio Code kann man auch ohne Einsatz weiterer Entwicklungswerkzeuge
+				und Build-Systeme von der Typdefinition der IDE API profitieren. Hierzu muss ein spezielles
+				Kommentar (Triple-Slash Directive) an den Anfang der JavaScript-Datei platziert
+			werden (<code>path</code> falls nötig anpassen): </p>
+			<pre><code><span class="hljs-regexp">//</span><span class="hljs-regexp">/ &lt;reference path="../</span>node_modules<span class="hljs-regexp">/@mathcoach/i</span>de-api<span class="hljs-regexp">/dist/</span>es6<span class="hljs-regexp">/MathCoach.d.ts"/</span>&gt;</code></pre><p>Dies sorgt dafür, dass Visual Studio Code Autovervollständigung samt Dokumentation der
+				IDE API anbieten kann. Sollte es bei Verwendung von TypeScript notwendig sein, kann man eine
+			Datei wie <code>global.d.ts</code> anlegen und die Triple-Slash Directive dort einmalig hinterlegen.</p>
+			<a href="#zertifikat-problem-beheben" id="zertifikat-problem-beheben" style="color: inherit; text-decoration: none;">
+				<h4>Zertifikat-Problem beheben</h4>
+			</a>
+			<p>Falls es Probleme mit dem HTW Zertifikat gibt, muss das Zertifikat von Newton ggf. von
+				Hand hinzugefügt werden. Nur so kann npm auf das Git-Repository zugreifen und den
+			Inhalt automatisch herunterladen.</p>
+			<pre><code><span class="hljs-keyword">cd</span> /usr/<span class="hljs-keyword">local</span>/share/<span class="hljs-keyword">ca</span>-certificates/
+sudo <span class="hljs-keyword">mkdir</span> newton.htwsaar.<span class="hljs-keyword">de</span>
+
+sudo cp path/to/newton.htwsaar.<span class="hljs-keyword">de</span>.crt /usr/<span class="hljs-keyword">local</span>/share/<span class="hljs-keyword">ca</span>-certificates/newton.htwsaar.<span class="hljs-keyword">de</span>/
+
+sudo chown 755 /usr/<span class="hljs-keyword">local</span>/share/<span class="hljs-keyword">ca</span>-certificates/newton.htwsaar.<span class="hljs-keyword">de</span>
+sudo chown 644 /usr/<span class="hljs-keyword">local</span>/share/<span class="hljs-keyword">ca</span>-certificates/newton.htwsaar.<span class="hljs-keyword">de</span>/newton.htwsaar.<span class="hljs-keyword">de</span>.crt
+sudo <span class="hljs-keyword">update</span>-<span class="hljs-keyword">ca</span>-certificates</code></pre>
+			<a href="#werkzeuge-in-die-ide-integrieren" id="werkzeuge-in-die-ide-integrieren" style="color: inherit; text-decoration: none;">
+				<h2>Werkzeuge in die IDE integrieren</h2>
+			</a>
+			<p>Damit die IDE das Werkzeug integrieren kann, muss eine Werkzeug-Deklaration registriert werden. Zur
+				Entwicklungszeit kann der Werkzeug-Entwickler dies lokal vornehmen. Anschließend können verknüpfte
+				Dateien mit dem Werkzeug geöffnet und erstellt werden (siehe Kontext-Menüs im IDE-Explorer).
+			Eine Freischaltung des Werkzeugs für alle Autoren erfolgt durch einen Administrator.</p>
+			<a href="#lokal-nur-für-den-entwickler-des-werkzeugs" id="lokal-nur-für-den-entwickler-des-werkzeugs" style="color: inherit; text-decoration: none;">
+				<h3>Lokal (Nur für den Entwickler des Werkzeugs)</h3>
+			</a>
+			<p>In der IDE muss eine Werkzeug-Deklaration angelegt werden, dazu muss die Einstellungsdatei <code>ide-settings.json</code>
+				editiert werden. Damit Änderungen an der Einstellungsdatei wirksam werden, muss die MathCoach IDE neu
+			geladen (Seite neu laden) werden.</p>
+			<pre><code>{
+    ...
+    <span class="hljs-string">"editor.external.declarations"</span>: [
+        {
+            <span class="hljs-string">"displayName"</span>: <span class="hljs-string">"Dummy"</span>,
+            <span class="hljs-string">"entry"</span>: <span class="hljs-string">"/mathcoach/www/YOURNAME/tool.html"</span>,
+            <span class="hljs-string">"description"</span>: <span class="hljs-string">"..."</span>,
+            <span class="hljs-string">"developer"</span>: <span class="hljs-string">"..."</span>,
+            <span class="hljs-string">"extension"</span>: <span class="hljs-string">"fib.json"</span>
+        }
+        ...
+    ],
+    ...
+}</code></pre><table>
+				<thead>
+					<tr>
+						<th>Schlüssel</th>
+						<th>Beschreibung</th>
+						<th>Beispiel</th>
+					</tr>
+				</thead>
+				<tbody><tr>
+						<td><code>&quot;description&quot;</code></td>
+						<td>Eine kurze Beschreibung</td>
+						<td><code>&quot;Editor zum Erstellen von Fill-In-Blank Aufgaben.&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;developer&quot;</code></td>
+						<td>Namen der Werkzeug-Entwickler</td>
+						<td><code>&quot;John Doe, Jane Doe&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;displayName&quot;</code></td>
+						<td>Der Name des Werkzeugs</td>
+						<td><code>&quot;Fill-In-Blank-Editor&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;documentation&quot;</code></td>
+						<td><strong>Optional</strong>. Link zur Werkzeug-Dokumentation. Diese muss sich auf dem selben Server wie die IDE befinden.</td>
+						<td><code>&quot;/mathcoach/www/YOURNAME/fib/docs.html&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;entry&quot;</code></td>
+						<td>Der Einstiegspunkt für das Werkzeugs. Dieser muss sich auf dem selben Server wie die IDE befinden.</td>
+						<td><code>&quot;/mathcoach/www/YOURNAME/fib/tool.html&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;extension&quot;</code></td>
+						<td>Dateien anhand der Datei-Erweiterung mit dem Werkzeug verknüpfen. Hier sollte etwas Eindeutiges gewählt werden.</td>
+						<td><code>&quot;fib.json&quot;</code> für Dateien wie <code>someExercise.fib.json</code></td>
+					</tr>
+			</tbody></table>
+			<a href="#global-für-alle-autoren" id="global-für-alle-autoren" style="color: inherit; text-decoration: none;">
+				<h3>Global (Für alle Autoren)</h3>
+			</a>
+			<ul>
+				<li>Das Werkzeug samt Werkzeug-Deklaration muss an einen Administrator übergeben werden</li>
+				<li>Der Administrator schaltet das Werkzeug nach einer kurzen Prüfung (Keine Konflikte mit anderen
+					Dateierweiterung, usw) frei. Beim nächsten Release von MathCoach ist das Werkzeug dann für alle
+				Autoren verfügbar.</li>
+			</ul>
+			<a href="#infos-zu-diesem-repository" id="infos-zu-diesem-repository" style="color: inherit; text-decoration: none;">
+				<h2>Infos zu diesem Repository</h2>
+			</a>
+			<pre><code>.
+├── CHANGELOG<span class="hljs-selector-class">.md</span>                <span class="hljs-comment">// Dokumentation von Änderungen der API</span>
+├── examples                    <span class="hljs-comment">// Beispiele</span>
+│   ├── ...
+│   └── ...
+├── media                       <span class="hljs-comment">// Grafiken</span>
+│   └── ...
+├── test                        <span class="hljs-comment">// Unit Tests</span>
+│   └── ...
+├── src                         <span class="hljs-comment">// Hilfsfunktionen für Werkzeugentwickler</span>
+│   ├── index<span class="hljs-selector-class">.ts</span>                <span class="hljs-comment">// Einstiegspunkt</span>
+│   └── ...
+├── mathcoach-api<span class="hljs-selector-class">.d</span><span class="hljs-selector-class">.ts</span>          <span class="hljs-comment">// Typ-Definition der API</span>
+├── package<span class="hljs-selector-class">.json</span>
+├── package-lock<span class="hljs-selector-class">.json</span>
+├── README<span class="hljs-selector-class">.md</span>
+└── tsconfig.json</code></pre>
+			<a href="#dokumentation-erzeugen" id="dokumentation-erzeugen" style="color: inherit; text-decoration: none;">
+				<h4>Dokumentation erzeugen</h4>
+			</a>
+			<pre><code><span class="hljs-built_in">npm</span> install &amp;&amp; <span class="hljs-built_in">npm</span> run build</code></pre>
+			<a href="#release-einer-neuen-version" id="release-einer-neuen-version" style="color: inherit; text-decoration: none;">
+				<h4>Release einer neuen Version</h4>
+			</a>
+			<ul>
+				<li>Version der API in der <code>package.json</code> eintragen</li>
+				<li>Version in der Überschrift der <code>README.md</code> eintragen</li>
+				<li>Beispiele und Changelog aktualisieren</li>
+				<li>IDE-Projekt prüfen:  <code>package.json</code>, <code>ide-lib.js</code>, ...</li>
+				<li>Final: Release Tag setzen <code>git tag -a VERSION -m &#39;...&#39;</code> und pushen</li>
+			</ul>
+		</div>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Namespaces</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-namespace"><a href="modules/helpers.html" class="tsd-kind-icon">Helpers</a></li>
+							<li class="tsd-kind-namespace"><a href="modules/mathcoach.html" class="tsd-kind-icon">Math<wbr>Coach</a></li>
+							<li class="tsd-kind-namespace"><a href="modules/__global.html" class="tsd-kind-icon">__global</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..d999902
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,3122 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>@mathcoach/ide-api | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<div class="tsd-panel tsd-typography">
+			<a href="#mathcoach-ide-api-smallcodeversion-300codesmall" id="mathcoach-ide-api-smallcodeversion-300codesmall" style="color: inherit; text-decoration: none;">
+				<h1>MathCoach IDE API <small><code>Version 3.0.0</code></small></h1>
+			</a>
+			<p>In diesem Paket (<a href="https://newton.htwsaar.de/gitblit/summary/mathcoach!mathcoach-ide-api.git">Das Gitblit Repository findet sich hier</a>)
+				ist die öffentliche Schnittstelle zur MathCoach Entwicklungsumgebung (IDE) definiert. Mithilfe
+				dieser Schnittstelle können externe Werkzeuge (z.B. Editoren) erstellt werden. Ziel ist, dass
+				diese Werkzeuge für den Anwender komfortable - in die IDE integriert -zur Verfügung gestellt werden
+			können. Darüber hinaus werden als Ergänzung einige Hilfsfunktionen zum Bau von Werkzeugen angeboten.</p>
+			<p><img src="media/usage_author.gif" alt="Demo"></p>
+			<p><em>Beispielhafte Anwendung: Eine Datei (<code>file.demo.json</code> - auch &quot;Kontext-Datei&quot; genannt) wird angelegt. Diese kann direkt durch das Werkzeug (Demo-Editor) geladen werden. Das Werkzeug kann die Kontext-Datei beschreiben (um zu demonstrieren, dass es ein internes Datenmodell persistent speichern kann). Weiterhin kann das Werkzeug eine Groovy-Aufgabe generieren und die Aufgaben-Vorschau anzeigen lassen.</em></p>
+			<a href="#idee" id="idee" style="color: inherit; text-decoration: none;">
+				<h2>Idee</h2>
+			</a>
+			<p>Grundlegende Idee ist, dass ein externes Werkzeug nahtlos in die MathCoach IDE integriert werden
+				kann. Bestimmte Dateien werden anhand ihrer Dateiendung mit dem Werkzeug verknüpft, sodass der
+				Benutzer das passende Werkzeug durch einen einfache Klick im Datei-Explorer starten kann. Diese
+				Datei wird im folgenden <em>Kontext-Datei</em> genannt und soll dazu dienen, das interene Datenmodell (also
+				alle Informationen, die der Benutzer im Werkzeug angibt) zu speichern. Das Werkzeug soll das gespeicherte
+			Datenmodell zu einem späteren Zeitpunkt wieder laden können.</p>
+			<p>Ein Werkzeug kann beispielsweise MathCoach-Aufgaben (Groovy-Datei) generieren. Weitere Funktionalitäten
+				der IDE - beispielsweise das Starten der generierten Aufgabe in der Aufgaben-Vorschau der IDE - sind
+			ebenfalls für den Werkzeugentwickler verfügbar.</p>
+			<p>Das Realisieren von Werkzeugen auf diese Art und Weise hat zahlreiche Vorteile:</p>
+			<ul>
+				<li>Werkzeuge werden einheitliche und benutzerfreundlich zur Verfügung gestellt</li>
+				<li>Grundlegende Funktionalitäten (Anlegen von Dateien, Navigieren im Dateisystem) werden bereits
+				durch die IDE bereitgestellt. So können Werkzeug-Entwickler ihren Fokus auf das Werkzeug legen.</li>
+				<li>Die IDE kann gefährliche Situationen (z.B. das Überschreiben von Dateien) abfangen
+				und den Benutzer entscheiden lassen, wie fortgefahren werden soll.</li>
+			</ul>
+			<a href="#entwicklung-externer-werkzeuge" id="entwicklung-externer-werkzeuge" style="color: inherit; text-decoration: none;">
+				<h2>Entwicklung externer Werkzeuge</h2>
+			</a>
+			<p>Externe Werkzeuge laufen ausschließlich im Webbrowser des Benutzers - es muss also
+				auf <code>HTML</code>, <code>JavaScript</code> und <code>CSS</code> gesetzt werden. Außerdem muss das Werkzeug unter
+				der Domain des jeweiligen MathCoach-Servers erreichbar sein. Zur Entwicklungszeit legt man das Werkzeug
+				dazu im www-Verzeichnis ab. Die von der IDE bereitgestellte <code>ide-lib.js</code> Bibliothek
+			muss eingebunden werden.</p>
+			<pre><code><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/mathcoach/ui/ide/ide-lib.js"</span>/&gt;</span> </code></pre><p>Dabei darf der MathCoach-Server <strong>nicht</strong> fest in die URL eincodiert werden. Andernfalls
+				kann es zu Problemen kommen, wenn das Werkzeug auf unterschiedlichen Server bereitgestellt
+				wird oder ohne IDE lauffähig sein soll. Bei korrekter Verwendung steht die IDE API nun
+			durch die globale Varialbe <code>MC</code> zur Verfügung - <a href="./interfaces/mathcoach.api.html">Dokumentation der IDE API</a>.</p>
+			<blockquote>
+				<p><strong>Hinweis</strong>: Es steht <strong>ausschließlich</strong> die API, welche über die globale Variable <code>MC</code>
+					definiert ist, zur Verfügung! Hilfsfunktionen wie <code>Helpers.enableOfflineUsageIfNecessary()</code>
+					sind grundsätzlich nicht verfügbar und müssen vom Werkzeugentwickler eingebunden
+				werden - siehe &quot;Hilfunktionen für Werkzeug-Entwickler&quot; weiter unten.</p>
+			</blockquote>
+			<blockquote>
+				<p><strong>Hinweis</strong>: Erst, wenn das Werkzeug in die IDE integriert und aus dieser heraus
+					gestartet wurde, kann die IDE API verwendet werden! Soll das Werkzeug auch ohne die
+					IDE nutzbar sein (z.B. zum Testen), muss dies bei der Implementierung berücksichtigt
+					werden. Konnte die <code>ide-lib.js</code> nicht eingebunden werden (weil das Werkzeug ohne IDE
+					gestartet wurde - darum darf auch kein Server fest eincodiert werden), steht die
+					globale Variable <code>MC</code> nicht zur Verfügung (<code>typeof MC === &quot;undefined&quot;</code>). Hier kann das
+					Werkezug eine Fallunterscheidung treffen und beispielsweise eine eigene Implementierung
+					über die globale Variable <code>MC</code> bereitstellen. Siehe auch <code>Helpers.enableOfflineUsageIfNecessary()</code>
+				weiter unten.</p>
+			</blockquote>
+			<a href="#empfohlenes-vorgehen" id="empfohlenes-vorgehen" style="color: inherit; text-decoration: none;">
+				<h3>Empfohlenes Vorgehen</h3>
+			</a>
+			<p>Damit externe Werkzeuge ein einheitliches Verhalten aufweisen, sollte wie folgt vorgegangen werden.</p>
+			<p>Als erstes muss sichergestellt werden, dass die MathCoach IDE API auch verfügbar ist. Dies ist
+				beispielsweise nicht der Fall, wenn das Werkzeug ohne die IDE gestartet wurde oder die IDE (aus
+			welchen Gründen auch immer) nicht einsatzbereit ist.</p>
+			<pre><code><span class="hljs-keyword">if</span>(<span class="hljs-keyword">typeof</span> MC === <span class="hljs-string">"undefined"</span>){
+    <span class="hljs-comment">// Hinweis: Hier kann die IDE API nachgebildet werden,</span>
+    <span class="hljs-comment">// sodass das Werkzeug auch "Offline" funktioniert. </span>
+    <span class="hljs-comment">// Also: MC = { isReady: async () =&gt; true, ...}</span>
+    <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(<span class="hljs-string">"IDE Lib nicht eingebunden"</span>); <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> show error to user</span>
+}
+<span class="hljs-keyword">const</span> isReady = <span class="hljs-keyword">await</span> MC.isReady();
+<span class="hljs-keyword">if</span>(!isReady){
+    <span class="hljs-keyword">throw</span> <span class="hljs-keyword">new</span> <span class="hljs-built_in">Error</span>(<span class="hljs-string">"Die MathCoach-API ist nicht einsatzbereit."</span>); <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> show error to user</span>
+}
+...</code></pre><p>Von nun an kann die IDE API vollständig genutzt werden. Zunächst sollte die Kontext-Datei (die 
+			Datei, mit der das Werkzeug gestartet wurde) geladen werden.</p>
+			<p>Ist der Inhalt der Kontext-Datei leer, wurde die Datei neu angelegt und zum ersten mal geöffnet.
+			Nun soll das Werkzeug:</p>
+			<ul>
+				<li>Sich initialisieren. Es ist sinnvoll, dass das Werkzeug mit einem beispielhaften
+				Datenmodell inititalisiert wird.</li>
+				<li>Das interne Datenmodell in die Kontext-Datei schreiben </li>
+				<li>Die zugehörige Aufgabe generieren. Siehe auch <code>contextFileToExerciseFile</code> in der <a href="./modules/helpers.html">Dokumentation der Hilfsfunktionen</a>.</li>
+			</ul>
+			<p>Andernfalls kann das zuvor gespeichertes Datenmodell aus der Kontext-Datei in den
+				Editor geladen werden. Anschließend sollte die generierten Aufgaben in der Vorschau gestartet werden, sodass der
+			Benutzer besser abschätzen kann, wie sich Änderungen im Werkzeug auf die Aufgabe auswirken.</p>
+			<pre><code><span class="hljs-keyword">let</span> contextFile = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span>; <span class="hljs-comment">// Datei, mit der der Editor gestartet wurde</span>
+<span class="hljs-keyword">let</span> contextFileContent = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.fs.read<span class="hljs-constructor">File(<span class="hljs-params">contextFile</span>)</span>;
+<span class="hljs-keyword">let</span> contextFileIsEmpty = contextFileContent<span class="hljs-operator"> === </span><span class="hljs-string">""</span>;
+
+<span class="hljs-keyword">let</span> exerciseFile = context<span class="hljs-constructor">FileToExerciseFile(<span class="hljs-params">contextFile</span>)</span>;
+
+<span class="hljs-keyword">if</span>(contextFileIsEmpty){
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Datenmodell anlegen (Idealerweise mit beispielhaften Inhalt)</span>
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Datenmodell in Kontext-Datei schreiben, z.B. mit JSON.stringify(...)</span>
+    <span class="hljs-keyword">let</span> dataModelAsString = <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">JSON</span>.</span></span>stringify({<span class="hljs-comment">/* TODO */</span>});
+    await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.fs.write<span class="hljs-constructor">File(<span class="hljs-params">contextFile</span>, <span class="hljs-params">dataModelAsString</span>)</span>;
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Aufgabe generieren</span>
+    <span class="hljs-keyword">let</span> generatedExerciseCode = <span class="hljs-string">"startup { print('Hallo Welt!') }"</span>; 
+    await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.fs.write<span class="hljs-constructor">File(<span class="hljs-params">exerciseFile</span>, <span class="hljs-params">generatedExerciseCode</span>)</span>;
+}<span class="hljs-keyword">else</span>{
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> Datenmodell laden, z.B. mit JSON.parse(contextFileContent)</span>
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> (Aufgabe neu generieren)</span>
+    <span class="hljs-comment">// <span class="hljs-doctag">TODO:</span> init application based on your data model</span>
+}
+
+<span class="hljs-comment">// Aufgabe anzeigen</span>
+await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.navigator.navigate<span class="hljs-constructor">ToExercise(<span class="hljs-params">exerciseFile</span>)</span>;</code></pre><p>Jedes Werkzeug sollte über eine &quot;Speichern&quot;-Funktion verfügen, mit der der Benutzer:</p>
+			<ul>
+				<li>Das interne Datenmodell in die Kontext-Datei speichert (sodass es später wieder geladen werden kann)</li>
+				<li>Die zugehörige Aufgabe wird generiert und die Vorschau zu dieser navigiert</li>
+			</ul>
+			<a href="#hilfsunktionen-für-werkzeug-entwickler-ide-tool-utils" id="hilfsunktionen-für-werkzeug-entwickler-ide-tool-utils" style="color: inherit; text-decoration: none;">
+				<h3>Hilfsunktionen für Werkzeug-Entwickler (IDE-Tool-Utils)</h3>
+			</a>
+			<p><a href="./modules/helpers.html">Dokumentation der Hilfsfunktionen</a></p>
+			<p>Dieses Paket beinhaltet zusätzlich Hilfsfunktionen (auch IDE-Tool-Utils genannt) für
+				Werkzeug-Entwickler. Diese sind aktuell in <code>TypeScript</code> implementiert, liegen jedoch
+				auch als ES6-JavaScript und Standalone-Bibliothek zur direkten Verwendung vor. Keine der
+			Hilfsfunktionen wird durch die <code>ide-lib.js</code> ausgeliefert!</p>
+			<blockquote>
+				<p><strong>Hinweis</strong>: Hilfunktionen ohne Build-System bereitzustellen gestaltet sich schwierig und
+				bringt große Nachteile mit sich:</p>
+				<ul>
+					<li>Als reine JavaScript-Datei - platziert auf einem Server - ist die die
+						Offline-Fähigkeit (siehe <code>Helpers.enableOfflineUsageIfNecessary()</code>) von Werkzeugen nicht
+					gewährleistet, da eine Internetverbindung zum Zugriff notwendig ist.</li>
+					<li>Werden Dateien oder Code-Ausschnitte von Hand kopiert, muss der Werkzeug-Entwickler sich
+					um das Aktualisieren kümmern. </li>
+				</ul>
+				<p>Als Kompromiss werden die Hilsfunktionen als reine JavaScript-Datei (ES5 oder ES6)
+				bereitgestellt, sodass diese auch ohne TypeScript nutzbar sind.</p>
+			</blockquote>
+			<p>Die IDE-Tool-Utils können wie folgt genutzt werden</p>
+			<a href="#build-system-mit-typescript-empfohlen" id="build-system-mit-typescript-empfohlen" style="color: inherit; text-decoration: none;">
+				<h4>Build-System mit TypeScript (empfohlen)</h4>
+			</a>
+			<p>Das Paket <code>@mathcaoch/ide-api</code> muss als npm-Abhängikeit in der <code>package.json</code> des Werkzeugs
+				angegeben werden. Fortan können die in TypeScript implementierten Hilfsfunktionen - aber
+				auch die Schnittstellen der IDE-API - komfortabel verwendet werden. Eine bestmögliche Typsicherheit ist
+			gegeben.</p>
+			<pre><code>import { Helpers, MathCoach } from <span class="hljs-string">"@mathcoach/ide-api"</span>;
+<span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Helpers</span>.</span></span>enable<span class="hljs-constructor">OfflineUsageIfNecessary()</span><span class="hljs-operator">
+...
+</span>const file:MathCoach.File = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span></code></pre>
+			<a href="#build-system-es6-javascript" id="build-system-es6-javascript" style="color: inherit; text-decoration: none;">
+				<h4>Build-System ES6+ JavaScript</h4>
+			</a>
+			<p>Das Paket <code>@mathcaoch/ide-api</code> muss als npm-Abhängikeit in der <code>package.json</code> des Werkzeugs
+				angegeben werden. Fortan können die in ES6 JavaScript vorliegenden Hilfsfunktionen
+			verwendet werden. Die Entwicklungsumgebung sollte grundlegende Hilfen (Autovervollständigung und eingebettete Dokumentation) anbieten.</p>
+			<pre><code>import { Helpers } from <span class="hljs-string">"@mathcoach/ide-api/dist/es6"</span>
+<span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Helpers</span>.</span></span>enable<span class="hljs-constructor">OfflineUsageIfNecessary()</span>;<span class="hljs-operator">
+...
+</span>const file = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span>;</code></pre>
+			<a href="#standalone" id="standalone" style="color: inherit; text-decoration: none;">
+				<h4>Standalone</h4>
+			</a>
+			<p>Die Hilfsfunktionen liegen als eigenständige Bibliothek vor ( siehe
+				<code>./dist/lib/mathcoach-ide-tool-utils.js</code>). Diese muss händisch kopiert, in das Werkzeug
+				eingebunden und mit ihm ausgeliefert werden. Über die globale Variable <code>MC_IDE_TOOL_UTILS</code>
+				können die Hilfsfunktionen angesprochen werden. Die verwendete Entwicklungsumgebung kann
+			in der Regel nur wenig Unterstütztung anbieten (siehe auch <em>Typdefinition auch ohne Build-System nutzen</em>).</p>
+			<pre><code><span class="xml">// tool.html
+<span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"/mathcoach/ui/ide/ide-lib.js"</span>/&gt;</span><span class="handlebars"><span class="xml"> 
+<span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"mathcoach-ide-tool-utils.js"</span>/&gt;</span><span class="handlebars"><span class="xml"> 
+<span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"tool.js"</span>/&gt;</span><span class="actionscript"> 
+
+<span class="hljs-comment">// tool.js</span>
+<span class="hljs-keyword">const</span> </span></span></span></span></span></span><span class="hljs-template-variable">{ Helpers }</span><span class="xml"><span class="javascript"> = MC_IDE_TOOL_UTILS;
+Helpers.enableOfflineUsageIfNecessary();
+...
+const file = <span class="hljs-keyword">await</span> MC.ide.getContextFile();</span></span></code></pre>
+			<a href="#beispiele" id="beispiele" style="color: inherit; text-decoration: none;">
+				<h3>Beispiele</h3>
+			</a>
+			<p>Im Verzeichnis <code>./examples/</code> finden sich Beispiele für externe Werkzeuge.</p>
+			<a href="#entwicklung-kleinerer-werkzeuge" id="entwicklung-kleinerer-werkzeuge" style="color: inherit; text-decoration: none;">
+				<h3>Entwicklung kleinerer Werkzeuge</h3>
+			</a>
+			<p>Für kleiner Werkzeuge bietet es sich an im www-Verzeichnis zu entwickeln  (z.B.
+				<code>myTool/tool.html</code> und <code>myTool/tool.js</code>). Die MathCoach-IDE stellt Autovervollständigung beim
+				Editieren der <code>tool.js</code>-Datei zur Verfügung. Da es sich um eine JavaScript-Datei handelt,
+				ist keine Typsicherheit gegeben. Das Werkzeug muss lokal in die IDE integriert werden, siehe
+			weiter unten.</p>
+			<p><img src="media/usage_tool_developer.gif" alt="Demo"></p>
+			<p><em>Über einen Deklarations-Eintrag in der Datei <code>ide-settings.json</code> kann ein Werkzeug (lokal) in
+					die IDE integriert werden. Der Benutzer kann über das Kontext-Menü Dateien, die mit dem Werkzeug
+					geöffnet werden können, anlegen. Wird im WWW-Teil des Dateisystems entwickelt, bietet die IDE
+			grundlegende Unterstütztung beim Editieren von JavaScript-Dateien</em></p>
+			<a href="#entwicklung-größerer-werkzeuge" id="entwicklung-größerer-werkzeuge" style="color: inherit; text-decoration: none;">
+				<h3>Entwicklung größerer Werkzeuge</h3>
+			</a>
+			<p>Für größere Werkzeuge sollten etablierte Entwicklungswerkzeuge verwendet werden, beispielsweise:</p>
+			<ul>
+				<li><a href="https://nodejs.org/en/">npm</a> um externe Bibliotheken (u.A. dieses Paket) einzubinden</li>
+				<li><a href="https://webpack.js.org/">webpack</a> oder <a href="https://parceljs.org/">Parcel</a> als Build-System um den Quellcode des Werkzeuges zu &quot;bündeln&quot;</li>
+				<li><a href="https://www.typescriptlang.org/">TypeScript</a> zum typsischeren Programmieren (und/oder Dateien zu ES6 oder ES5 konformen JavaScript umzuformen)</li>
+				<li><a href="https://git-scm.com/">Git</a> zur Versionierung des Quellcodes</li>
+				<li><a href="https://code.visualstudio.com/">Visual Studio Code</a> als Entwicklungsumgebung</li>
+				<li>Unit und End-To-End Tests</li>
+			</ul>
+			<p>Das &quot;gebündelte&quot; Werkzeug muss nach dem Build-Prozess in das WWW-Verzeichnis kopiert und ebenfalls
+			lokal in die IDE integriert werden, siehe weiter unten.</p>
+			<a href="#mathcoach-api-als-npm-package-einbinden" id="mathcoach-api-als-npm-package-einbinden" style="color: inherit; text-decoration: none;">
+				<h4>MathCoach-API als npm-Package einbinden</h4>
+			</a>
+			<p>Die MathCoach-API kann auch als npm-Package eingebunden werden, sodass eine typsichere
+				und komfortable Entwicklung (z.B. mit Visual Studio Code) möglich ist. Außerdem wird es
+				möglich die angebotenen <a href="./modules/helpers.html">Hilfsfunktionen</a> zu einzubinden. Hierzu muss
+			die <code>package.json</code> des Werkzeug-Projektes wie folgt ergänzt werden:</p>
+			<pre><code>{
+    ...
+    <span class="hljs-string">"devDependencies"</span>: {
+        <span class="hljs-string">"@mathcoach/ide-api"</span>: <span class="hljs-string">"git+https://newton.htwsaar.de/gitblit/r/mathcoach/mathcoach-ide-api.git"</span>
+    },
+    ...
+}</code></pre><p>Der Git-Repo URL kann man eine Versionsnummer anhängen (z.B. <code>&quot;.../mathcoach/mathcoach-ide-api.git#3.0.0&quot;</code> 
+				für Version <code>3.0.0</code>), sodass die API, falls notwendig, versioniert <a href="https://semver.org/lang/de/">(Semantic Versioning)</a> werden kann. Verfügbare Versionen sind Git-Tags und können in der Weboberfläche des Git-Repositories
+			oder über die Konsole (<code>git tag --list</code>) eingesehen werden. </p>
+			<p>Nun können Hilfsfunktionen (in TypeScript) wie folgt eingebunden werden.  </p>
+			<pre><code><span class="hljs-section">import</span> { <span class="hljs-attribute">Helpers</span> } from <span class="hljs-string">"<span class="hljs-variable">@mathcoach</span>/ide-api"</span>;</code></pre><p>Die Typedefinition sollte automatisch verfügbar sein, sodass der Umgang mit der
+				IDE API (Einstiegspunkt ist die globale Variable <code>MC</code>) durch eine Entwicklungsumgebung
+				wie Visual Studio Code unterstützt wird. Falls nicht, muss man die Typdefinition händisch
+			einbinden (siehe <em>Typdefinition auch ohne Build-System nutzen</em>).</p>
+			<a href="#typdefinition-auch-ohne-build-system-nutzen" id="typdefinition-auch-ohne-build-system-nutzen" style="color: inherit; text-decoration: none;">
+				<h4>Typdefinition auch ohne Build-System nutzen</h4>
+			</a>
+			<p>Beim Arbeiten mit Visual Studio Code kann man auch ohne Einsatz weiterer Entwicklungswerkzeuge
+				und Build-Systeme von der Typdefinition der IDE API profitieren. Hierzu muss ein spezielles
+				Kommentar (Triple-Slash Directive) an den Anfang der JavaScript-Datei platziert
+			werden (<code>path</code> falls nötig anpassen): </p>
+			<pre><code><span class="hljs-regexp">//</span><span class="hljs-regexp">/ &lt;reference path="../</span>node_modules<span class="hljs-regexp">/@mathcoach/i</span>de-api<span class="hljs-regexp">/dist/</span>es6<span class="hljs-regexp">/MathCoach.d.ts"/</span>&gt;</code></pre><p>Dies sorgt dafür, dass Visual Studio Code Autovervollständigung samt Dokumentation der
+				IDE API anbieten kann. Sollte es bei Verwendung von TypeScript notwendig sein, kann man eine
+			Datei wie <code>global.d.ts</code> anlegen und die Triple-Slash Directive dort einmalig hinterlegen.</p>
+			<a href="#zertifikat-problem-beheben" id="zertifikat-problem-beheben" style="color: inherit; text-decoration: none;">
+				<h4>Zertifikat-Problem beheben</h4>
+			</a>
+			<p>Falls es Probleme mit dem HTW Zertifikat gibt, muss das Zertifikat von Newton ggf. von
+				Hand hinzugefügt werden. Nur so kann npm auf das Git-Repository zugreifen und den
+			Inhalt automatisch herunterladen.</p>
+			<pre><code><span class="hljs-keyword">cd</span> /usr/<span class="hljs-keyword">local</span>/share/<span class="hljs-keyword">ca</span>-certificates/
+sudo <span class="hljs-keyword">mkdir</span> newton.htwsaar.<span class="hljs-keyword">de</span>
+
+sudo cp path/to/newton.htwsaar.<span class="hljs-keyword">de</span>.crt /usr/<span class="hljs-keyword">local</span>/share/<span class="hljs-keyword">ca</span>-certificates/newton.htwsaar.<span class="hljs-keyword">de</span>/
+
+sudo chown 755 /usr/<span class="hljs-keyword">local</span>/share/<span class="hljs-keyword">ca</span>-certificates/newton.htwsaar.<span class="hljs-keyword">de</span>
+sudo chown 644 /usr/<span class="hljs-keyword">local</span>/share/<span class="hljs-keyword">ca</span>-certificates/newton.htwsaar.<span class="hljs-keyword">de</span>/newton.htwsaar.<span class="hljs-keyword">de</span>.crt
+sudo <span class="hljs-keyword">update</span>-<span class="hljs-keyword">ca</span>-certificates</code></pre>
+			<a href="#werkzeuge-in-die-ide-integrieren" id="werkzeuge-in-die-ide-integrieren" style="color: inherit; text-decoration: none;">
+				<h2>Werkzeuge in die IDE integrieren</h2>
+			</a>
+			<p>Damit die IDE das Werkzeug integrieren kann, muss eine Werkzeug-Deklaration registriert werden. Zur
+				Entwicklungszeit kann der Werkzeug-Entwickler dies lokal vornehmen. Anschließend können verknüpfte
+				Dateien mit dem Werkzeug geöffnet und erstellt werden (siehe Kontext-Menüs im IDE-Explorer).
+			Eine Freischaltung des Werkzeugs für alle Autoren erfolgt durch einen Administrator.</p>
+			<a href="#lokal-nur-für-den-entwickler-des-werkzeugs" id="lokal-nur-für-den-entwickler-des-werkzeugs" style="color: inherit; text-decoration: none;">
+				<h3>Lokal (Nur für den Entwickler des Werkzeugs)</h3>
+			</a>
+			<p>In der IDE muss eine Werkzeug-Deklaration angelegt werden, dazu muss die Einstellungsdatei <code>ide-settings.json</code>
+				editiert werden. Damit Änderungen an der Einstellungsdatei wirksam werden, muss die MathCoach IDE neu
+			geladen (Seite neu laden) werden.</p>
+			<pre><code>{
+    ...
+    <span class="hljs-string">"editor.external.declarations"</span>: [
+        {
+            <span class="hljs-string">"displayName"</span>: <span class="hljs-string">"Dummy"</span>,
+            <span class="hljs-string">"entry"</span>: <span class="hljs-string">"/mathcoach/www/YOURNAME/tool.html"</span>,
+            <span class="hljs-string">"description"</span>: <span class="hljs-string">"..."</span>,
+            <span class="hljs-string">"developer"</span>: <span class="hljs-string">"..."</span>,
+            <span class="hljs-string">"extension"</span>: <span class="hljs-string">"fib.json"</span>
+        }
+        ...
+    ],
+    ...
+}</code></pre><table>
+				<thead>
+					<tr>
+						<th>Schlüssel</th>
+						<th>Beschreibung</th>
+						<th>Beispiel</th>
+					</tr>
+				</thead>
+				<tbody><tr>
+						<td><code>&quot;description&quot;</code></td>
+						<td>Eine kurze Beschreibung</td>
+						<td><code>&quot;Editor zum Erstellen von Fill-In-Blank Aufgaben.&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;developer&quot;</code></td>
+						<td>Namen der Werkzeug-Entwickler</td>
+						<td><code>&quot;John Doe, Jane Doe&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;displayName&quot;</code></td>
+						<td>Der Name des Werkzeugs</td>
+						<td><code>&quot;Fill-In-Blank-Editor&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;documentation&quot;</code></td>
+						<td><strong>Optional</strong>. Link zur Werkzeug-Dokumentation. Diese muss sich auf dem selben Server wie die IDE befinden.</td>
+						<td><code>&quot;/mathcoach/www/YOURNAME/fib/docs.html&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;entry&quot;</code></td>
+						<td>Der Einstiegspunkt für das Werkzeugs. Dieser muss sich auf dem selben Server wie die IDE befinden.</td>
+						<td><code>&quot;/mathcoach/www/YOURNAME/fib/tool.html&quot;</code></td>
+					</tr>
+					<tr>
+						<td><code>&quot;extension&quot;</code></td>
+						<td>Dateien anhand der Datei-Erweiterung mit dem Werkzeug verknüpfen. Hier sollte etwas Eindeutiges gewählt werden.</td>
+						<td><code>&quot;fib.json&quot;</code> für Dateien wie <code>someExercise.fib.json</code></td>
+					</tr>
+			</tbody></table>
+			<a href="#global-für-alle-autoren" id="global-für-alle-autoren" style="color: inherit; text-decoration: none;">
+				<h3>Global (Für alle Autoren)</h3>
+			</a>
+			<ul>
+				<li>Das Werkzeug samt Werkzeug-Deklaration muss an einen Administrator übergeben werden</li>
+				<li>Der Administrator schaltet das Werkzeug nach einer kurzen Prüfung (Keine Konflikte mit anderen
+					Dateierweiterung, usw) frei. Beim nächsten Release von MathCoach ist das Werkzeug dann für alle
+				Autoren verfügbar.</li>
+			</ul>
+			<a href="#infos-zu-diesem-repository" id="infos-zu-diesem-repository" style="color: inherit; text-decoration: none;">
+				<h2>Infos zu diesem Repository</h2>
+			</a>
+			<pre><code>.
+├── CHANGELOG<span class="hljs-selector-class">.md</span>                <span class="hljs-comment">// Dokumentation von Änderungen der API</span>
+├── examples                    <span class="hljs-comment">// Beispiele</span>
+│   ├── ...
+│   └── ...
+├── media                       <span class="hljs-comment">// Grafiken</span>
+│   └── ...
+├── test                        <span class="hljs-comment">// Unit Tests</span>
+│   └── ...
+├── src                         <span class="hljs-comment">// Hilfsfunktionen für Werkzeugentwickler</span>
+│   ├── index<span class="hljs-selector-class">.ts</span>                <span class="hljs-comment">// Einstiegspunkt</span>
+│   └── ...
+├── mathcoach-api<span class="hljs-selector-class">.d</span><span class="hljs-selector-class">.ts</span>          <span class="hljs-comment">// Typ-Definition der API</span>
+├── package<span class="hljs-selector-class">.json</span>
+├── package-lock<span class="hljs-selector-class">.json</span>
+├── README<span class="hljs-selector-class">.md</span>
+└── tsconfig.json</code></pre>
+			<a href="#dokumentation-erzeugen" id="dokumentation-erzeugen" style="color: inherit; text-decoration: none;">
+				<h4>Dokumentation erzeugen</h4>
+			</a>
+			<pre><code><span class="hljs-built_in">npm</span> install &amp;&amp; <span class="hljs-built_in">npm</span> run build</code></pre>
+			<a href="#release-einer-neuen-version" id="release-einer-neuen-version" style="color: inherit; text-decoration: none;">
+				<h4>Release einer neuen Version</h4>
+			</a>
+			<ul>
+				<li>Version der API in der <code>package.json</code> eintragen</li>
+				<li>Version in der Überschrift der <code>README.md</code> eintragen</li>
+				<li>Beispiele und Changelog aktualisieren</li>
+				<li>IDE-Projekt prüfen:  <code>package.json</code>, <code>ide-lib.js</code>, ...</li>
+				<li>Final: Release Tag setzen <code>git tag -a VERSION -m &#39;...&#39;</code> und pushen</li>
+			</ul>
+		</div>
+		<div style="position:relative;"><a name="typedoc-main-index" class="tsd-anchor"></a></div>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Namespaces</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-namespace"><a href="modules/helpers.html" class="tsd-kind-icon">Helpers</a></li>
+							<li class="tsd-kind-namespace"><a href="modules/mathcoach.html" class="tsd-kind-icon">Math<wbr>Coach</a></li>
+							<li class="tsd-kind-namespace"><a href="modules/__global.html" class="tsd-kind-icon">__global</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/interfaces/mathcoach.api.html b/docs/interfaces/mathcoach.api.html
new file mode 100644
index 0000000..5381d94
--- /dev/null
+++ b/docs/interfaces/mathcoach.api.html
@@ -0,0 +1,2866 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>Api | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class="current tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.api.html" class="tsd-kind-icon">Api</a>
+			<ul>
+				<li class=" tsd-kind-property tsd-parent-kind-interface">
+					<a href="mathcoach.api.html#ide" class="tsd-kind-icon">ide</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-interface">
+					<a href="mathcoach.api.html#isready" class="tsd-kind-icon">is<wbr>Ready</a>
+				</li>
+			</ul>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.file.html" class="tsd-kind-icon">File</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.filesystemapi.html" class="tsd-kind-icon">File<wbr>System<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.ideapi.html" class="tsd-kind-icon">Ide<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.navigatorapi.html" class="tsd-kind-icon">Navigator<wbr>Api</a>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel tsd-comment">
+			<div class="tsd-comment tsd-typography">
+				<div class="lead">
+					<p>Als Einstiegspunkt dient das interface <code>MathCoach.Api</code> - eine Implementierung dieser Schnittstelle
+						wird von der IDE (siehe <code>ide-lib.js</code>) bereitgestellt und kann über die globale Variable
+					<code>MC</code> zugegriffen werden.</p>
+				</div>
+				<p>Beispiel:</p>
+				<pre><code>const isReady = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.is<span class="hljs-constructor">Ready()</span>; <span class="hljs-comment">// true oder false</span></code></pre>
+			</div>
+		</section>
+		<section class="tsd-panel tsd-hierarchy">
+			<h3>Hierarchy</h3>
+			<ul class="tsd-hierarchy">
+				<li>
+					<span class="target">Api</span>
+				</li>
+			</ul>
+		</section>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Properties</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-property tsd-parent-kind-interface"><a href="mathcoach.api.html#ide" class="tsd-kind-icon">ide</a></li>
+						</ul>
+					</section>
+					<section class="tsd-index-section ">
+						<h3>Methods</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-method tsd-parent-kind-interface"><a href="mathcoach.api.html#isready" class="tsd-kind-icon">is<wbr>Ready</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Properties</h2>
+			<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+				<a name="ide" class="tsd-anchor"></a>
+				<h3>ide</h3>
+				<div class="tsd-signature tsd-kind-icon">ide<span class="tsd-signature-symbol">:</span> <a href="mathcoach.ideapi.html" class="tsd-signature-type">IdeApi</a></div>
+				<aside class="tsd-sources">
+					<ul>
+						<li>Defined in MathCoach.ts:40</li>
+					</ul>
+				</aside>
+				<div class="tsd-comment tsd-typography">
+					<div class="lead">
+						<p>Die Schnittstelle zur Entwicklungsumgebung (IDE) von MathCoach.</p>
+					</div>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Methods</h2>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+				<a name="isready" class="tsd-anchor"></a>
+				<h3>is<wbr>Ready</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+					<li class="tsd-signature tsd-kind-icon">is<wbr>Ready<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in MathCoach.ts:64</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Prüft, ob die API einsatzbereit ist. Dies sollte einmalig, beim Start des Werkzeugs,
+									geprüft werden. Dabei bedeutet der Rückgabewert <code>true</code>, dass das Werkzeug durch
+									die IDE gestartet wurde und die Kommunikation möglich ist. <code>false</code> bedeutet, dass
+								das Werkzeug nicht durch die IDE gestartet wurde.</p>
+							</div>
+							<p>Somit wäre es möglich ein Tool offlinefähig zu machen, indem es ggf. eine eigene
+								Implementierung der MathCoach-API (beispielsweise unter Verwendung des LocalStorage
+							zum Speichern von Dateien) verwendet.</p>
+							<p>Anwendungsbeispiel (Prüft zusätzlich, ob die globale <code>MC</code>-Variable verfügbar ist - also
+							die <code>ide-lib.js</code> korrekt eingebunden und geladen wurde):</p>
+							<pre><code> <span class="hljs-keyword">let</span> isReady = (typeof MC !== <span class="hljs-string">"undefined"</span>) ? await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>is<span class="hljs-constructor">Ready()</span> : <span class="hljs-literal">false</span>;
+ <span class="hljs-keyword">if</span>(isReady){
+     <span class="hljs-comment">// MathCoach-API is ready to use!</span>
+ }<span class="hljs-keyword">else</span>{
+     <span class="hljs-comment">// MathCoach-API is not ready...</span>
+ }</code></pre>
+						</div>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">&gt;</span></h4>
+					</li>
+				</ul>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+					<ul class="tsd-legend">
+						<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
+						<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
+					</ul>
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/interfaces/mathcoach.file.html b/docs/interfaces/mathcoach.file.html
new file mode 100644
index 0000000..9911ea6
--- /dev/null
+++ b/docs/interfaces/mathcoach.file.html
@@ -0,0 +1,2855 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>File | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADMCAYAAAB0ip8fAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAACUhSURBVHja7J0PjF1VncfPTEfclm7YEGtKauoWYXVdxLqyNZqyY/gT21hBRCPoaqcLoYFV10B0dXWxZWElsCYYG0wJ2CkkxSxoA8HQlbTL2ImsCLuFlVUisdC1YbItRBIoO03q7PnN+9155553/vx+55737p07v19y+vreu+8zv3vu/d1z7jnne39DMzMzSqxjF91bnfHg5e3xQ6zXrt/5x43wYwT++e5Q2o+vNmI+B2Pnzp1JjI0bN1Y+6XOf6E3xI0edNuX8ePKONMh7r5rJymiCDcs1VEyssr1Ll/t0+a0uM/h6H34es+W6LOUyfIG7UpfbdXkBIfC6HT+nWhsYn9LlPF1WiR/CcNhJunxNlx/qsk+XD+gyhK+P4Ofw/SLPbz+J//9bLsMVuBfq8gz0Ugzn4fUq/PxCwg7NdwZU0gO6nIr/f3qB+yEMt31Ll1Fd3gN3A7ocws/h9Q78HL6/zfHbW3R5DoOSzRh2XH3uw6bbZUvx+5WRK9h8Z3wFg+VB8UMYnu/XwlCGLp/Q5VXPNq/i9xfh9uZvl+myOJVhB+6XdDklcpU5Bbfz2XxnrIDBQ7z6iR/C8DGglb5Vl1cijFdwu6ut3+6qwrAD9xLifcElid/NB8aFeP8xIX4II7AddF93Exm7cXvzt49XYdiBu4wIWZb43XxgLMfXI+KHMALbLcNjQzH7GC4zPktijDi+XEGEhL4jM8z5vSXjaYzSXOVJG6vuy5RVuQOtD2P+t5IfBedSlaFO1cZGnB9rttd3nhbzvxfDaOEb32oG0mFi8B9xBGEyw25xHyRG/4OJ3yns+r1Pl7fUzPBtB0Pwx7FbUmd9cPxoep220Y8JHDCi2EW4vfnbNVUYduDeGhjdMke5bg18H2NchqNpP1OdebOfWf3/QTF8+wJXv5uMgYO66oPjR9PrtI1+FIOGSyN+LMXtvmv99pNVGHbgHtTlYyo8NP0x3M5nMQZ0Ab+PV7whfP1+DYzQvtyEI3kX1lwfVD/mQ522zY9J1V0gEZpS+iFuN2n99lUsSQzXAgzY4GzVmfydMnbiDvz8EUKzHmIUAy+3Gle+5TUwQvtyQpcNuryO5T011QfVj/lQp2304/OqMzr8n6qzaGO58bur8PPHcTvbvqjLal1uSGEMgTqohkXkrhXbQ0vGd1Zm/KA7OMUyWNyfU5XDZDn3hfmnnYxLj1ev02NjGxtxfqzZPnCRgdMPHJwyDQIQVkCtxYCbwtYRekwHIn9jBfaqzuAwhgYp6zMOXvFHoTV5qPDlaoIrxmink2GqWrg2aDmd8fec+5IYuCUGxZ9+1umgz48cZgS30w9H4A7cRmr6u3t0WWdUxp6aGMlBN4j6oPhjBH8j67TG86Nvftyw8fkkWE4t70hqN9nVHWLY+gy+r899lGoUsK/P4E8j67SNfjRBTE9pcaEPfrjKH9EXhxU6wA9X6ero7twK3WU7HOu2tUFIn/MCIkL6vEL6pjwBIySkh5vkR1VH0PuoKqsbqAG7VpdZBrzC+4SAXavLLANe4b0SE2uWNUJIXwTsftWdcB7F96QANgK2h0ENYCNgexjMABYhfT4/hFG2+oT07xjT4b7SG7C2lQL45TnNbzBgnQxfAHsC1skgBLAtlD6kqgvYqYw2+SEMt7mE9AWnipA+yhj+Q91l/9O/VkoH8H4dwKOUS5QO2NF/V+P7H1PfK32ewrA/P+OMM/affPLJJMZLL700Ojk5uT9wJbWF0ueq7hMGUgXsVEab/BCGu2fqEsHvN36TKqSPMua6ykYAFy2wK9iUDjYFAfuSer7n+xyMpUuXqjPPPBMCWOkA9gWs0gGr9u/fr44ePeo7MC6h9CHr4KQI2CmMNvkhDM+4mXKL4FdagZcipI8yhinBFwu2fjBcAUwM2MIKAfSQUVwHhyJg5zLa5Icw/LdrhQh+xiiuwKMI6VmMkVjw/dvun6vHnvpR0lBbDkYRwI8++uhswDJsmVEhlO3MUT6wIxUYbfJDGP7PjxjBHzKKkJ7FiM7j/v4N05XHykMMc34vNM974sSJ0Ai0MVbXI/qG13/UxdVE71I0IT2XYVc4mRER0pP9CAjpSYyIkH5g9RER0g/Mj4iQHu6Hz9dliYNxr6IJ6VmMOh6IPitQ/rDaMgSlCuOjH/3oEBTPNg8aJz7cK77JOBhFMbcrzCVg5zI4fmxWdCE9l5HDjxx12kY/TBF8Ic87ZgRaUZSiCelZjDoC9zIdsDGhdJShA5Yjtn6TdXCUUVlUIT2HwfGDK6TnMHL4kaNO2+iHLYI/ZgWeMkanqUJ6MsMM3A+qstg3ZJO4vW1Rhg7amEA5ytBBmyK2Lg6OeWC5QnoOg+pHipCew8jhR446bZsfLiF9EXhmwHGF9CTGsNV8nxsJnCJgz7Wa/lk75xtqQpdzCcHnFSi/+93vntClEsPqbppC6Tep6kJ6KoPqR2hfqH7kqI9+12kb/XAJ6Y+p6kL6KGPE03c/F7sFN6rOpC8E0NddweoyCGBgPLHVySgsOOoFAQyMp556KplhXFk3Y+HaPcb/UxlUP6Yz+DHdZz9y1Gmb/DiO5+P9qrMCaqsqi+Bh4cSBwG/HcYDsZi5jJDIABAG8KtLliAbw3ofUqodmthx0KERMgXIwgPfu3btq9+7dBx1qlxKjKXlhmVpacn0QrMSgiOBjdZpDwE5hxM6PHKkuKQyHgih2XA5ggKXY4RTGCPGKVMn+7udrbQZbKH3ttddWZuQItj6ZCOnnkR+NENLf8CexiFmrb4SzK+lESE/YFxHSN9OPBSOk1yfgCn1Ci5Ce6IcI6d0MEdJ3ra9Cen0CrtVllgGv8D4hYEVIL9Z0a4eQ3gjYHgY1gEVI30g/hFG2+oT055+u1LIl3oC1rRTArx89RAlYJ8MXwH0W0h9V1QXsVEab/BCG21xC+iWqupA+yhh+88lKXfA2pXQA79cBTFp6qAN29H9+Mr7/0ERZSJ/CsD/vs5D+BtVdTJ4qYKcy2uSHMNw9U5cI/kLVFQqkCumjjLmushHARQvsCjalg01BwB478nzP9zkYfRbSH7UOToqAncJokx/C8IybKbcIfokVeClC+ihjxBd8//ua7pdNKXXkWCfYjv73PmeguSwHowjgV199Vb344ovqtddemw3YX/7ylxQRPdglxv2h6+AUi8phu89bV7tCwH5LIqNNfgjDzYBe4Zfx/5d7Aq8QDOzG3pP52y/ivXQSYyQWfA9P/Fw9O5Emgs/ByCCk30XczhzlAztSgdEmP4Th/7zQx8Ym8ChCehYjOo87fKK6kD7EMOcsQ3OpFYT0sOLqg0pZj6Ts2IyiCem5DLvCyYyIkJ7sR0BIT2JEhPQDq4+IkH5gfkSE9KtwwNZ1PzykaEJ6FqM2If3bL90yBKUKgyikX6XKz+6xn+1DEdJzGRw/4GBRhfRcRg4/ctRpG/0wRfAQ/OZzquznWFGE9CxGLUJ6HbCDFtLbD95SxogdVUjPYXD84ArpOYwcfuSo0zb6YYvg7YfMKWN0miqkJzMGLqTXQVuXkL44OOaB5QrpOQyqHylCeg4jhx856rRtfriE9EXgmQHHFdKTGFmF9JefpSZ0abKQfqWqLqSnMqh+hPaF6keO+uh3nbbRD5eQ/pCqLqSPMvoipIcABsa9vxAhPcMPEdLPPz/aKaQvAvhf96lVz96/5WCKcFyE9GwTIX3AREjPsPEviJA+YiKkn0d+NEJIf+9/RbZYtla9/VIR0vc5+EVIP4/8WHBC+iotmgjp0/ZHhPQipBchvZiY20RI7whYEdKLkL6pDBHSRwLWyZCM9JJNXi3UjPQLTEgvGemFkYvRjIz0C0RILxnphZGL0ayM9K7giwVbPxiSkV4y0jec0cyM9C0S0ktG+mp+CMP/eXMz0ouQXoT0IqQXIb1SIqQXIX07/KhXSA9LHnHZ4+n6FTY63XP18baYRSEynEL6S4/vLK7ypx84cCDKECG9COlr9qMZQnodcKP4ep7nx6Y5hfQURkxIr4N2FF+9DBHSi5BeiZB+1nbocgUOiIzpwNvqCZqQkJ7KKAZeXALlEkMHbwrD7m6KkL66HznqtI1+1Cqkh0D5uC5wx/0y3n+/oANv8vJ3zfbDC0FvSEjPYRQ2TWHo4J1cvXo1leG7soqQPo8fOeq0TX7UKqS/S3VWZDyAG92HkHEdeCdO7dxrxjS5UQZBSO9l6OCFlud0EdKTTIT0AWubkH4TtnhTeBUYx26aUnQhvZfBENJ7GSKkjwa/COkH5EcjhPRWq2m+du7YT/krtfIjoUvNFhVjOKwkUIYR5aqMHCZCehHSU/xohJB+9fGoE0EhPeVE1Tu6Ql+lAkJ6UndOhPQJ+yNC+oUrpH9BJQrp9U6u1WWWAa/wnsswZH4viJBerKHWKCH93XiPuQRf76YGsBGwPQxqABsB28MQIb2I4BvCqE1IP2IF7I3oMMwt3WMMUI3j+89gIME8EwyDT9oBazN0F3mOob+fY+j/zzL095N2wNoM3W2bY+jv5xj6/7MM/b3vwekXqvLkdnGgrsJg+Jhyz/ctUt1Jb1gf+nQCo01+CMNtIKR/u+rMr5t62kIEvwv50Krac7m3YEx9LYVhtriwagTmS2+ygrawE/j5TbidS6pTYhhBq3A0js0wgra496IwigNgCqVhnu514/sUATuH0SY/hOHumdoieGipFxvbpAjpSQy7q3wNXgHgsR1jRvO8CN8/g99fE6iQOYZuVcd0WYSt8SJ4z2XoVnVMl0XYGi+C90SGLZSGq5e9CosrYKcy2uSHMDzjZqpXBH+V6l3zzBXSkxh24EKX+EzVWclxPQaI+Xozfj/uqw3dqvYwdMD2MHA734hmD0MHbA8Dt/OZSwD9JHZJ9gS2cwnYuYw2+SEMt5ki+NIAtOosU1xnfEYR0rMYLj3uCeueFtYPb/J0n33Be8K6p51j2N3nQPCesO5p5xh299ljPgE0LKdcjxWzWtEE7FxGm/wQhv/3Pr0v3N48jBeBA4ompGcxQkL6IoB3hFpYYgDvgBYW5sDseTDzvWtFihHAO6CFhXlJe24yIqR3VcjdeFCUognpuQzTWIyIkJ7sR0BIT2JEhPQDq4+IkH5gfkSE9K7g/6zqrjGmCOlZjDqE9KYN9ZHhElHDwXhClw8HtnMJ2LkMjh+zDwVQNCE9l5HDjxx12kY/TBG8aRBo5+hiPquJIqRnMezANQekfFYMVDnNHJAKGJyMXqG0OSCVylBloTQYrIH+qerMhZojdlQhPYfB8YMrpOcwcviRo07b6IctggeDZbow/3rQGp2mCunJDDsj/RWOEWXlGFm+Qvkz0l9hjyhbDLBYRvor7BFlJkOpXqH0nY5hdq6QnsOg+pEipOcwcviRo07b5odLSH+l6p1S4grpSQxXRvrNVgArK2A3K09Gen2POqFLiYFTQMqYCioGXpwCZX0fO6FLiYFTQMqYCgoyrO6mKZQuDkgVIT2VQfUjtC9UP3LUR7/rtI1+uIT0xe+qCOmjjKF/GH9rqCsazUgfkjjpYPUxXKLIIRdLByuL8YOTNqoUy724n8mayXD/72RYyqskxrGxtDqtIDJw+rFm+8BFBk4/cHDKvjf+Gp6jpgj+JuUX0he2AntVZ3AYocAtLJiRnqJN1AG8Sm930BhBLirEFCgPhVg6gFfpltgU0jsZFOG4zwYt6zP+nnNfEgO3xKD408865ZgR3E4/cgj6KWYEt9MPR+AO3AaSkR6C1vqILZSGoK3KyBl0mU2E9PPIj6YJ6QdpkpGesC8ipG+mHwsmI30hpE+9UmF3ToT0CfsjQnoR0ouQXkzMbSKkdwSsCOlFSN9UhgjpzYBVIqRvmh/CcJsI6X0MEdKLkL6hDBHShxgipBchfUMZIqR3jGj2MERIX5sfwnCbCOk9wStC+mb4IQz/70VIj9uHAliE9Aw/REif1w8R0pdNhPR+wfZDSoT0TfajViG9KTLwiQlmrOBYZHRd7aDxMnRrOmS0rqM4HL4G+/pffpvaOhFj6BZ3yGgJehiwY5Y6CHbuJ3ijDzrH7zhG7EDWddBasQTzav+iy4scRuAkCTFOw+mAnn1h+OFkXHp850RVP46NbeQwSvUBq548K6bYfqzZPpTsB6x68qyYYvuhW9vCjz/Q5f+w8fs9fgaa3s87RqefxtZz0hhVhs7QV1MZw9YNMxhoYE9WaUJ6CgMsJFDOwRjD1wuwkg4pntj627p8qCKD6kdIsE31YypDfUz1uU7b5sdl+LrJaMA4QvobqzCcGel12abLm1U3X6cZsD4hfZBBFNIHGUQhvc24AW/wnzQOSExsPUhGjn1pCqMp9TFoP76HAbbM+F1MSP/PVRjejPQY3Q8Zrd9mxcxI72EUNp2bobvJIcY5xHvmuhjTLWKoBerHHry1jGWkr8wo7nHhCnKG6maCfw6b7BMqIqS3rmReRkxIr+9xh2IMipBeB6+XEVMAGfe4IT+oFvWDIKTn+NHD0Pe4QUahAArVqb7HDTJi4nbjHjfKCAnp9T1u0I9YpnnjHjfKCAnp9T3uUL/PD8qPB5KRniGk9zIYQvrQvqiq+8IIfo4f7H1xBH+O+qilTtvkR+RRTql+eAMXzJkJ/rSx54OAF8dLziRlk9etbWWGZVSG4jKYWtm+7YvDjxLDetZUkh/Ws6b6VqcxP6xnTdXmh/XIGieDqddN3peh21X0QT5BIT3lOUC6C7RCb1dJjF8I6WPbNUXALkJ6EdL30/oqpNcHa60uswx4hfcJAStCerGmW6OE9HtVZ33yEnzdSw1gI2B7GNQANgK2hyFCehHBN4TROCH9NtzwS9hVhhMH5pJgEtorpMeAJDH0trMM3RUKCemDDBHSiwheiZC+JGDfhjfMy3AnluH7bYougq+TURwAUygNq1Hep7qrUlIE7BxGm/wQhrtnaovgi1xDxQqsFCE9ieET0v8Orybwg7fg67fwc6oIfo6hW9XKDN2qchm2UHoSW2uzdeYK2KmMNvkhDM+4meoVwa/FxsQMUq6QnsTwCekX48a348lzO75frCJCeh2kPQzdLe5h4Ha+Ec0eBgrpSwyikB6uoE9it0Th65PGlZUiYOcy2uSHMNxmiuDhfATx+2fw/WfwfdFqUoT0LIYduDuMrkHxBIqtqvvki6KLsSMwMEVi4Ha+gSkSA7fzWbHmE27yz7EOzDn4ubmdOcqnVFm4zGW0yQ9h+H9f6GMhPecTVtA9gZ/bx9D8bTLDNar8KyNAx42WeKX1fcjmGEXLiq89DJjfK4qPUbSs+NrDKMT11pwlp0JMm0o8MD5jMQJCepYfwLHmg1mMzHWazPCcHwP3A+Z/oVw8/YJKvKCGhPRshh24sAzrbCMwdhgtcREoZ+N2vq5yiVG0rPj6K+z6naLKUia7q1xiFC0rvpIYqiuUjnVBKEJ6LoPjx+OKnpGey8jhR446baMfpgg+1t2mCOlZDFdG+ueMADWteP+cCmSk1wEaY1yGFRLMSF+VoXozjq/FA2Le9HMz0lMZHD9SMtJTGTn8yFGnbfTDlU1+EoPNHODiZqQnMXwZ6YsA3WS0xEUgkTLSFwxsgYuW+DkVFyj3MLAFLlpiCgPMzji+GLtA5jA7NyM9h0H1IyUjPYeRw48cddo2P1wZ6V/H7q05pcTNSE9i+DLSTyp3RvpJFchIr4NzQpcSA1vgoiXmZqSfZUhGeslI31A/6stIHxAZkDLSh0QGOlhZ2eRdLMlIX40hGelbmpGeoA4KCumJ6qBVeruDVTKOS0Z68kkmGekrmmSk7wa3ZKQPm2Skn0d+NCIjPfUqpq9CK3SXo5KmVnd1Vjy+eZZRJeN4oQ+WjPQERg4/ajDJSF+1xdUBW6h11ur/z95j6gCeZHY95hg6eJMYhmpo7l7XpQqSjPTl/REh/QIT0kOw6fKoKieWntXD4uekgK3K8CS4ntPlKjGx+q1+Ib0j2M7EQAF94pewmzrKDFg2wxGwbAaaCOnz+SGMstUmpHe1uKYeFqRHsATMTrMZs6YwLsTfXG0ciEIo/Qx+7zKopAdURwsL/386gdEmP4Thtm9h4wHz67CqqcitW4jg34Pf3+b4LQjpn8OgZDN8XWVTDzsXKLqfP864mvWNYYkNQldSUyhtW4qAncNokx/C6DWXkN62FCE9iTHsuREvuqaLzWDT3V9TbBC7ma/MsHS5cwFriA1CVgilz1e9c6JD+DlVwM5ltMkPYXjGzVRXBL9X9S7WmMHPqUJ6FmPYc49q6mHtYDubODBVmWHpcu2AjTEKAfQ+T4Xss7Yzu0+2gJ3LaJMfwnCbKYI/zxP85+H/KUJ6FiP0eNZfWa9n61bTFBtQrC8MQ2wQsmVEfkomeM7fmu9+CMP/+REiIyUjfZDh6yqbeti5YNOt5pjqLvKPdZWjjEKcXBRHV7nEKALWFBuYgm+P6JtSIaZNJR6YlO96tosI6cl+BIT0JEbmOk1mRIT0A/MjIqSnBH9MSM9i+LrKY0aLZgZbMUBE6Sr7GB/Cm+zoTLilyzUDlsIohNLrPF2QddZ2hbkE7FwGxw8YOacK6bmMHH7kqNM2+mGK4Pd4utvFUk2KkJ7F8HWVrzda1mcco8IU8zFgTc+fqbBQOgejEEo/7KmQhxVdSM9lcPw4pOhCei4jhx856rSNfpgi+PWe4F+v6EJ6FsMXuGcaLevNjlHhVwiB28NQ3WdYxYTSORi2UNo1zM4V0nMYVD9ShPQcRg4/ctRp2/xwCeltSxHSkxi+wF1ZtKxWwD6BLQFF19TDUN1nWFGE0rMMx4PiOAwR0ufxI0edttGP+oT0MzMz9r3pjdg9gyvMGLZwF2EzfasOwmhrG2F8XXkEyuZicH0/m8QQIX2ZIUL6lgrp7cDFnYOJ52sxYO6hBmyMYXSxnQJlO6u4Dl42Q4T0IqSvavNWSI9B+g0sqVe5HoZRISShtD5hehjGSSZCeiVC+jr8aISQvqYK6bvom9N6mgGSW89L5PVdSE/U5a4ntoisbnICYz2xRWR1kxMY63MFIgR7EfCpAWxeMAYauL5K5FjGbttyY0CCY+ZEeCrD6QfzAuL0o0KvYY5RoY6z1keFrnFWPyqct307x4bVwrQ7VWcdMNdgEOJzFRlt8kMYNR3bhRi4IJKGVSuHmL+DJxHAZP1kBUab/BBGjceW8sypU/AKAHNKML+1LXGEuRIDR5hLDBy84tjt+PtvJ1Toj1Vn7u2SREab/BBGzcc29MypU3SBeaXfqM4c05X4+hv9+fXUgK3KgIDVxcnAnLmcCi30jI8wfvdOo0JHExlt8kMYDTi2w4Rg+4AlxYMlWFuZActmOAL2A5acL8ow7DtGZcAKpH2MCgUh83WqMzGewmiTH8JoyLF1tbigW4JHpnwag+14ggg+KwMD9jhTSF/YbcbNPthivH9YTrwKXof3GimMNvkhjAYdW1fgwr3k/bo8oINtr0oTwWdl6IAtMYhCerD3q07mP9vgwXO/xu999k3VSXf42wqMNvkhjAYdW9/KqU064G7GYHmHfv+sfr8INbVfUWWlg0pl2JPg9nwZBKgO2jmGfv+sfr8IdbmzDHthgTUH+Rj8TnWeqPcpy8W78HufXYy/gVVbX9DlggQGyw/P3C3LD5thzeuS/OhjnbIY9mINa153YH5EztNazjGukB6uCpu14+cSBqZ8DEge/Beqk6ozNjBVYhhCejJDddRMV6puvtHZcwIHAmK2CyttSwVGm/wQRkOOrStwP6jKiaVLAavLBMEZL0N15El/ruJC+hyMws5T3YTFUBnXMA4KcCcqMmJ+jBL2JebHaIb6GB1QnYofFc+xYUcXdwJbVAiQe5gBG2So7qM3okJ6K8H1LAPfkxlWxYDdwazQU/H+Yk8FBsWP2L5Q/MhRH4OoU/Ejwzk2Ego+5UhkzbEAwxYo3+hjQABXZaiOwuMuvAhwr8SvYKV+JZFB8SO2LxQ/ctTHIOpU/MhwjtWlDgKbHhBjJY7cXZnAh3Wj8GDspRUYVD+mM/gx3Wc/ctSp+JHhHKt7rfKGATDguT6bEtnbVOfpA1UYHD82ZPBjQx/9yFGn4keGc6yuwC2E0VVF3xTGyxX8nMrAoPgR25epDAw1IMYg6qNNfiSdY0Pj4+OV9hrm+KjJk8+aHgt+/4s3jlc+ClX0un/5T09W/vs/+fv3kreNaW5/dzDuzx+tCv895qNrstcpx2Ii+xoeXeMbu0lm53gKBgjqB3qP6wtMTvDHTq7U4OMEXD8vAuAH57e+4C72RzLS581IXyX4Uh95w+kqV8mw3TSGmFjrzA7cKhm2m8YwJ899xTWpDhPgoPRYWoHRJj+E0cBjawdulQzbTWPAZPmayIVrjeqdVIeF3aDSeLUCo01+CCPM+Co2Kr7yVcKxZTPMwHVl2N6uukuwlPJn2G4aA4wqy7K3OzUDo01+CCP8XUx3u49wbNkMM3DN7NiFweMz9qtucmml3Bm2m8YQE1sw97hmduzSgJrq5C9ZZ3y2W/kXwjeBISa2YAI3lEAZmnZ4+txqfO9LyNsUhphYq82cxy2C4LBjO1jV8VnVTT7kC64khiPreQXGWfP6gORYBGJyrliR9vvyMdlYW32Y879rttd3XErzvw3IHWS2uGZ2bNMgSM7R5UfGZ3aG7RQGBOZb+sSYTwb7C5nPh1rAaEp9tMmPaOCa2bELA4kRzJ2aCYJdGba5jJBAOQdjPtllKp6Bfb4wmlIfbfIjGriuDNv2ozR8GbY5DDBupm8uQ3m62i477OjuV2Vw/PBlPj+SgaEGzOhnfTTVj3URzjrCOcZm2AswqmTYpjKK/1fJ9E1hXKniCZemVK/+cReWFRUYXD9c+8L1I0d99KtO2+zHDhVe9bSDcI6xGbbI4LjqZHuHx6LCksKtqpwd+xMqnmE7xrgDt5vuMwMkWKcl9EKgZf+0cTVMYaT4MZ3Bj+k++JGjTsWPzOeYTx10AIO0ilEYZqbvLIzcKp9Uo/jhGEGO1QfFSgyKJM+hICoxcsjpKAyHgqjkR440rRSGQ0FU8iOnyifVRnJoLamMWDZ55kmWPWt5jUHv3Bdm8EtG+nngR66gb21G+hQbtJA+ti9MfxpZp+JH2ealkH4QrftCE9LH9keE9O0U0o9UqVj7viUHI+VEG9SjVcTEmmJtzkgvQvo8fgijgcfWFbgzhBKzJjBESJ/HD2GEGbUL6UvdcexGF8+T3YDvb+B06Wtm2JPl8HT41wnbnZqB0SY/hBFmmCJ4+4EPSvGF9CSGK3BhgQOk/TthfX4CP58kBE1TGKbBog3IPXSoQvdbGMIImeuBD31huAI3lrqSktqyKQzbYLgWnldVZT5OGMIImeuBD9kZbR6c8hloemF+7oAwhNEnhv3Ah+yMkbqjyJxCSl1aV55COotSIXdnqNS+MJhzuF4/GEJ6J4MppO9bfTCF9H3xY2j4JPUfd76xu8UbTqME/2czXEC8jIXW4sLBeEKXDzeIkSrYbiKjKfWRzQ8dtFw/XA98ULkZdQVuDhE8lwHZ7H+qy6oKfveDkSLYbiqjKfWRxQ8dtFw/XA984BqJEQvcRdZrirkYnEzfqQxbvHyn6h1md213JAOD40eKkJ7KUANm9LM+BuqHDtoUIb3rgQ9cIT2JEQrc21U3A/dt+J5rPkZMoJyDIUL6PH7kqNM2+9EIIb1p12ToEocY031miJA+jx856nRe+QGDUU0/x+oeVc4uHBchvQjpQ0ZhlEaQHX40Qkg/yINjHBivQDl2oomQ3hv8IqSfB36IkD7C4MyHmgGSW89L5PVdSE+US65ntojsiziREfSDo6n1tbAhhtFVDvrB0eWaAZtDzzvQwM3RqmfU3i4nDE64zMzikMpw+sG8gDj9qNBrmGNUqOOs9VHhfKnkx8zvj5cYFbrofTvHFqqQHob+b0ioUJigv0R1RA6pjDb5IYyaju1CXKsMC+dAZ8lVgbxLddaOTlZgtMkPYdR4bNsspHcZzAGDbGpfQoX+WJcv4tUwhdEmP4RR87Fts5DeVaFFEuxHGL97p1Gho4mMNvkhjAYc24UipP+OURmvM66GUKF7dblOl7WJjDb5IYyGHNuFIKSHZZKfM94vxvuH5cSr4HV4r5HCaJMfwmjQsW374NT7VUf1YRs8rOvX+L3Pvqk6T0T4bQVGm/wQRoOObeuE9NbU0GO6vEOXW3T5lPWzu/B7n12Mv4Fu+Rd0uSCBwfLDM3fL8sNmWPO6JD/sKbmMdcpi2NOL1vkxMD/sxRrWvG4t59hCmA6CRdy2VOq7OBAQs11YaVsqMNrkhzAacmyH4aqWmh6iuComMHpE8EvGd3IXX3CE9OeprtYSKuMa5t+ZqMiI+UHZl5gfOepjUHUqflQ8x8wWdwxfzb42V0hPZYQEyjkYrooBu4NZoafi/cWeCgyKH7F9ofiRoz4GUafiR4ZzrAjcHRgoyzFwdiDwb4xRs5iQnsPwCZRzMFy2Du8VNidciV9RXZVICoPiR2xfKH7kqI9B1Kn4keEcG8FA+bgub1WdJ8vBDfMLqjNP+iHiH09hTPeB4bKVOHJ3ZcIBhXWj56tOjpdUBtWP6Qx+TPfZjxx1Kn5kOMeGMcLv1+UBvKI8gO/HGX88lbEhM8NlkJ9lU+JB3aY6T9yrwuD4sSGDHxv66EeOOhU/MpxjxXTQJmzxpjBQoMyuWGJM0UQZBCG9l1FMSSQI6V+ucFCnMjAofsT2ZSoDQw2IMYj6aJMfSefY/wswAKmMl4i8NCtXAAAAAElFTkSuQmCC);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.api.html" class="tsd-kind-icon">Api</a>
+		</li>
+		<li class="current tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.file.html" class="tsd-kind-icon">File</a>
+			<ul>
+				<li class=" tsd-kind-property tsd-parent-kind-interface">
+					<a href="mathcoach.file.html#owner" class="tsd-kind-icon">owner</a>
+				</li>
+				<li class=" tsd-kind-property tsd-parent-kind-interface">
+					<a href="mathcoach.file.html#part" class="tsd-kind-icon">part</a>
+				</li>
+				<li class=" tsd-kind-property tsd-parent-kind-interface">
+					<a href="mathcoach.file.html#path" class="tsd-kind-icon">path</a>
+				</li>
+			</ul>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.filesystemapi.html" class="tsd-kind-icon">File<wbr>System<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.ideapi.html" class="tsd-kind-icon">Ide<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.navigatorapi.html" class="tsd-kind-icon">Navigator<wbr>Api</a>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel tsd-comment">
+			<div class="tsd-comment tsd-typography">
+				<div class="lead">
+					<p>Eindeutiger Verweis auf eine Datei.</p>
+				</div>
+				<p>Anwendungsbeispiel:</p>
+				<pre><code> <span class="hljs-keyword">let</span> user = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">UserName()</span>; <span class="hljs-comment">// oder von einem anderen File-Objekt abgfragen...</span>
+ <span class="hljs-keyword">let</span> file = { owner: user, part: <span class="hljs-string">"vfs"</span>, path:<span class="hljs-string">"/myExercise.groovy"</span> }</code></pre><p>Siehe auch: <code>MC.ide.getContextFile()</code></p>
+			</div>
+		</section>
+		<section class="tsd-panel tsd-hierarchy">
+			<h3>Hierarchy</h3>
+			<ul class="tsd-hierarchy">
+				<li>
+					<span class="target">File</span>
+				</li>
+			</ul>
+		</section>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Properties</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-property tsd-parent-kind-interface"><a href="mathcoach.file.html#owner" class="tsd-kind-icon">owner</a></li>
+							<li class="tsd-kind-property tsd-parent-kind-interface"><a href="mathcoach.file.html#part" class="tsd-kind-icon">part</a></li>
+							<li class="tsd-kind-property tsd-parent-kind-interface"><a href="mathcoach.file.html#path" class="tsd-kind-icon">path</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Properties</h2>
+			<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+				<a name="owner" class="tsd-anchor"></a>
+				<h3>owner</h3>
+				<div class="tsd-signature tsd-kind-icon">owner<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
+				<aside class="tsd-sources">
+					<ul>
+						<li>Defined in MathCoach.ts:176</li>
+					</ul>
+				</aside>
+				<div class="tsd-comment tsd-typography">
+					<div class="lead">
+						<p>Name des Besitzers. Hinweis: Der Besitzter kann vom angemeldeten
+						Benutzer abweichen (z.B. wenn das Teilen von Inhalten zukünftig unterstützt wird)</p>
+					</div>
+				</div>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+				<a name="part" class="tsd-anchor"></a>
+				<h3>part</h3>
+				<div class="tsd-signature tsd-kind-icon">part<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"vfs"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"www"</span></div>
+				<aside class="tsd-sources">
+					<ul>
+						<li>Defined in MathCoach.ts:180</li>
+					</ul>
+				</aside>
+				<div class="tsd-comment tsd-typography">
+					<div class="lead">
+						<p>Liegt die Datei im öffentlichen (www) oder verborgenen (vfs) Dateisystem?</p>
+					</div>
+				</div>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+				<a name="path" class="tsd-anchor"></a>
+				<h3>path</h3>
+				<div class="tsd-signature tsd-kind-icon">path<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
+				<aside class="tsd-sources">
+					<ul>
+						<li>Defined in MathCoach.ts:184</li>
+					</ul>
+				</aside>
+				<div class="tsd-comment tsd-typography">
+					<div class="lead">
+						<p>Absoluter Pfad zur Datei. Mmuss immer mit einem Slash beginnen.</p>
+					</div>
+				</div>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+					<ul class="tsd-legend">
+						<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
+					</ul>
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/interfaces/mathcoach.filesystemapi.html b/docs/interfaces/mathcoach.filesystemapi.html
new file mode 100644
index 0000000..4d606d0
--- /dev/null
+++ b/docs/interfaces/mathcoach.filesystemapi.html
@@ -0,0 +1,2878 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>FileSystemApi | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.api.html" class="tsd-kind-icon">Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.file.html" class="tsd-kind-icon">File</a>
+		</li>
+		<li class="current tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.filesystemapi.html" class="tsd-kind-icon">File<wbr>System<wbr>Api</a>
+			<ul>
+				<li class=" tsd-kind-method tsd-parent-kind-interface">
+					<a href="mathcoach.filesystemapi.html#readfile" class="tsd-kind-icon">read<wbr>File</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-interface">
+					<a href="mathcoach.filesystemapi.html#writefile" class="tsd-kind-icon">write<wbr>File</a>
+				</li>
+			</ul>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.ideapi.html" class="tsd-kind-icon">Ide<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.navigatorapi.html" class="tsd-kind-icon">Navigator<wbr>Api</a>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel tsd-comment">
+			<div class="tsd-comment tsd-typography">
+				<div class="lead">
+					<p>Schnittstelle zum Dateisystem</p>
+				</div>
+			</div>
+		</section>
+		<section class="tsd-panel tsd-hierarchy">
+			<h3>Hierarchy</h3>
+			<ul class="tsd-hierarchy">
+				<li>
+					<span class="target">FileSystemApi</span>
+				</li>
+			</ul>
+		</section>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Methods</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-method tsd-parent-kind-interface"><a href="mathcoach.filesystemapi.html#readfile" class="tsd-kind-icon">read<wbr>File</a></li>
+							<li class="tsd-kind-method tsd-parent-kind-interface"><a href="mathcoach.filesystemapi.html#writefile" class="tsd-kind-icon">write<wbr>File</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Methods</h2>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+				<a name="readfile" class="tsd-anchor"></a>
+				<h3>read<wbr>File</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+					<li class="tsd-signature tsd-kind-icon">read<wbr>File<span class="tsd-signature-symbol">(</span>file<span class="tsd-signature-symbol">: </span><a href="mathcoach.file.html" class="tsd-signature-type">File</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in MathCoach.ts:145</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Liest eine Datei und gibt den Textinhalt zurück.</p>
+							</div>
+							<p>Anwendungsbeispiel: Lesen der Datei, mit dem das Werkzeug gestartet wurde</p>
+							<pre><code> <span class="hljs-keyword">let</span> file = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span>;
+ <span class="hljs-keyword">let</span> text = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.fs.read<span class="hljs-constructor">File(<span class="hljs-params">file</span>)</span>;
+ <span class="hljs-comment">// do something with the text, e.g. JSON.parse(text)</span></code></pre>
+						</div>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>file: <a href="mathcoach.file.html" class="tsd-signature-type">File</a></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Verweis auf die Datei</p>
+								</div>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+				<a name="writefile" class="tsd-anchor"></a>
+				<h3>write<wbr>File</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+					<li class="tsd-signature tsd-kind-icon">write<wbr>File<span class="tsd-signature-symbol">(</span>file<span class="tsd-signature-symbol">: </span><a href="mathcoach.file.html" class="tsd-signature-type">File</a>, text<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in MathCoach.ts:158</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Schreibt Text in eine Datei.</p>
+							</div>
+							<p>Anwendungsbeispiel: Schreiben der Datei, mit dem das Werkzeug gestartet wurde</p>
+							<pre><code> <span class="hljs-keyword">let</span> file = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span>; <span class="hljs-comment">// some file reference</span>
+ <span class="hljs-keyword">let</span> text = <span class="hljs-string">"some text"</span>; <span class="hljs-comment">// or JSON.stringify(yourDataContainer)</span>
+ await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.fs.write<span class="hljs-constructor">File(<span class="hljs-params">file</span>,<span class="hljs-params">text</span>)</span>;</code></pre>
+						</div>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>file: <a href="mathcoach.file.html" class="tsd-signature-type">File</a></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Verweis auf die Datei</p>
+								</div>
+							</li>
+							<li>
+								<h5>text: <span class="tsd-signature-type">string</span></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Der neue Inhalt der Datei</p>
+								</div>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
+					</li>
+				</ul>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+					<ul class="tsd-legend">
+						<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
+					</ul>
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/interfaces/mathcoach.ideapi.html b/docs/interfaces/mathcoach.ideapi.html
new file mode 100644
index 0000000..8e575ae
--- /dev/null
+++ b/docs/interfaces/mathcoach.ideapi.html
@@ -0,0 +1,2898 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>IdeApi | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.api.html" class="tsd-kind-icon">Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.file.html" class="tsd-kind-icon">File</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.filesystemapi.html" class="tsd-kind-icon">File<wbr>System<wbr>Api</a>
+		</li>
+		<li class="current tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.ideapi.html" class="tsd-kind-icon">Ide<wbr>Api</a>
+			<ul>
+				<li class=" tsd-kind-property tsd-parent-kind-interface">
+					<a href="mathcoach.ideapi.html#fs" class="tsd-kind-icon">fs</a>
+				</li>
+				<li class=" tsd-kind-property tsd-parent-kind-interface">
+					<a href="mathcoach.ideapi.html#navigator" class="tsd-kind-icon">navigator</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-interface">
+					<a href="mathcoach.ideapi.html#getcontextfile" class="tsd-kind-icon">get<wbr>Context<wbr>File</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-interface">
+					<a href="mathcoach.ideapi.html#getusername" class="tsd-kind-icon">get<wbr>User<wbr>Name</a>
+				</li>
+			</ul>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.navigatorapi.html" class="tsd-kind-icon">Navigator<wbr>Api</a>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel tsd-comment">
+			<div class="tsd-comment tsd-typography">
+				<div class="lead">
+					<p>Schnittstelle zur IDE von MathCoach</p>
+				</div>
+			</div>
+		</section>
+		<section class="tsd-panel tsd-hierarchy">
+			<h3>Hierarchy</h3>
+			<ul class="tsd-hierarchy">
+				<li>
+					<span class="target">IdeApi</span>
+				</li>
+			</ul>
+		</section>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Properties</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-property tsd-parent-kind-interface"><a href="mathcoach.ideapi.html#fs" class="tsd-kind-icon">fs</a></li>
+							<li class="tsd-kind-property tsd-parent-kind-interface"><a href="mathcoach.ideapi.html#navigator" class="tsd-kind-icon">navigator</a></li>
+						</ul>
+					</section>
+					<section class="tsd-index-section ">
+						<h3>Methods</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-method tsd-parent-kind-interface"><a href="mathcoach.ideapi.html#getcontextfile" class="tsd-kind-icon">get<wbr>Context<wbr>File</a></li>
+							<li class="tsd-kind-method tsd-parent-kind-interface"><a href="mathcoach.ideapi.html#getusername" class="tsd-kind-icon">get<wbr>User<wbr>Name</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Properties</h2>
+			<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+				<a name="fs" class="tsd-anchor"></a>
+				<h3>fs</h3>
+				<div class="tsd-signature tsd-kind-icon">fs<span class="tsd-signature-symbol">:</span> <a href="mathcoach.filesystemapi.html" class="tsd-signature-type">FileSystemApi</a></div>
+				<aside class="tsd-sources">
+					<ul>
+						<li>Defined in MathCoach.ts:93</li>
+					</ul>
+				</aside>
+				<div class="tsd-comment tsd-typography">
+					<div class="lead">
+						<p>Einstiegspunkt der Dateisystem-Schnittstelle (z.B. um Dateien zu lesen und zu schreiben)</p>
+					</div>
+				</div>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
+				<a name="navigator" class="tsd-anchor"></a>
+				<h3>navigator</h3>
+				<div class="tsd-signature tsd-kind-icon">navigator<span class="tsd-signature-symbol">:</span> <a href="mathcoach.navigatorapi.html" class="tsd-signature-type">NavigatorApi</a></div>
+				<aside class="tsd-sources">
+					<ul>
+						<li>Defined in MathCoach.ts:97</li>
+					</ul>
+				</aside>
+				<div class="tsd-comment tsd-typography">
+					<div class="lead">
+						<p>Einstiegspunkt der Vorschau-Schnittstelle (z.B. um generierte Aufgaben zu starten)</p>
+					</div>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Methods</h2>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+				<a name="getcontextfile" class="tsd-anchor"></a>
+				<h3>get<wbr>Context<wbr>File</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+					<li class="tsd-signature tsd-kind-icon">get<wbr>Context<wbr>File<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="mathcoach.file.html" class="tsd-signature-type">File</a><span class="tsd-signature-symbol">&gt;</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in MathCoach.ts:89</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Gibt den Verweis auf die Datei zurück, mit der das Entwicklerwerkzeug gestartet wurde.</p>
+							</div>
+							<p>Anwendungsbeispiel:</p>
+							<pre><code> <span class="hljs-keyword">let</span> file = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span>;
+ <span class="hljs-keyword">let</span> { owner, path, part } = file;</code></pre>
+						</div>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="mathcoach.file.html" class="tsd-signature-type">File</a><span class="tsd-signature-symbol">&gt;</span></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+				<a name="getusername" class="tsd-anchor"></a>
+				<h3>get<wbr>User<wbr>Name</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+					<li class="tsd-signature tsd-kind-icon">get<wbr>User<wbr>Name<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in MathCoach.ts:80</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Gibt den Namen des aktuellen Benutzers zurück, der mit dem Werkzeug arbeitet.</p>
+							</div>
+							<p>Anwendungsbeisipiel:</p>
+							<pre><code> let<span class="hljs-built_in"> user </span>= await MC.ide.getUserName();</code></pre>
+						</div>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
+					</li>
+				</ul>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+					<ul class="tsd-legend">
+						<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
+						<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
+					</ul>
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/interfaces/mathcoach.navigatorapi.html b/docs/interfaces/mathcoach.navigatorapi.html
new file mode 100644
index 0000000..80493eb
--- /dev/null
+++ b/docs/interfaces/mathcoach.navigatorapi.html
@@ -0,0 +1,2880 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>NavigatorApi | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.api.html" class="tsd-kind-icon">Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.file.html" class="tsd-kind-icon">File</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.filesystemapi.html" class="tsd-kind-icon">File<wbr>System<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.ideapi.html" class="tsd-kind-icon">Ide<wbr>Api</a>
+		</li>
+		<li class="current tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="mathcoach.navigatorapi.html" class="tsd-kind-icon">Navigator<wbr>Api</a>
+			<ul>
+				<li class=" tsd-kind-method tsd-parent-kind-interface">
+					<a href="mathcoach.navigatorapi.html#navigateto" class="tsd-kind-icon">navigate<wbr>To</a>
+				</li>
+				<li class=" tsd-kind-method tsd-parent-kind-interface">
+					<a href="mathcoach.navigatorapi.html#navigatetoexercise" class="tsd-kind-icon">navigate<wbr>ToExercise</a>
+				</li>
+			</ul>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel tsd-comment">
+			<div class="tsd-comment tsd-typography">
+				<div class="lead">
+					<p>Schnittstelle zur Navigation der Vorschau</p>
+				</div>
+			</div>
+		</section>
+		<section class="tsd-panel tsd-hierarchy">
+			<h3>Hierarchy</h3>
+			<ul class="tsd-hierarchy">
+				<li>
+					<span class="target">NavigatorApi</span>
+				</li>
+			</ul>
+		</section>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Methods</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-method tsd-parent-kind-interface"><a href="mathcoach.navigatorapi.html#navigateto" class="tsd-kind-icon">navigate<wbr>To</a></li>
+							<li class="tsd-kind-method tsd-parent-kind-interface"><a href="mathcoach.navigatorapi.html#navigatetoexercise" class="tsd-kind-icon">navigate<wbr>ToExercise</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Methods</h2>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+				<a name="navigateto" class="tsd-anchor"></a>
+				<h3>navigate<wbr>To</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+					<li class="tsd-signature tsd-kind-icon">navigate<wbr>To<span class="tsd-signature-symbol">(</span>link<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, forceOpen<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in MathCoach.ts:114</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Navigiert die Vorschau zu einem Link.</p>
+							</div>
+							<p>Anwendungsbeispiel:</p>
+							<pre><code> await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.navigator.navigate<span class="hljs-constructor">To(<span class="hljs-string">"/mathcoach/www/yourName/readme.html"</span>, <span class="hljs-params">true</span>)</span></code></pre>
+						</div>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>link: <span class="tsd-signature-type">string</span></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Web URL (z.B. zu einer Datei im WWW-Verzeichnis oder einer MathCoach-Aufgabe)</p>
+								</div>
+							</li>
+							<li>
+								<h5><span class="tsd-flag ts-flagOptional">Optional</span> forceOpen: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></h5>
+								<div class="tsd-comment tsd-typography">
+									<p><code>true</code> um das Anzeigen der Vorschau zu erzwingen, <code>false</code> um nur bei bereits geöffneter Vorschau zu navigieren.</p>
+								</div>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
+				<a name="navigatetoexercise" class="tsd-anchor"></a>
+				<h3>navigate<wbr>ToExercise</h3>
+				<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
+					<li class="tsd-signature tsd-kind-icon">navigate<wbr>ToExercise<span class="tsd-signature-symbol">(</span>file<span class="tsd-signature-symbol">: </span><a href="mathcoach.file.html" class="tsd-signature-type">File</a>, forceOpen<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in MathCoach.ts:128</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Navigiert die Vorschau zu einer MathCoach-Aufgabe.
+									Hinweis: Die Datei muss im <code>vfs</code>-Teil des Dateisystems liegen und
+								eine ausführbare MathCoach-Aufgabe sein (z.B. eine groovy-Datei).</p>
+							</div>
+							<p>Anwendungsbeispiel:</p>
+							<pre><code> <span class="hljs-keyword">let</span> file = { part: <span class="hljs-string">"vfs"</span>, owner:<span class="hljs-string">"yourName"</span>, path: <span class="hljs-string">"/myExercise.groovy"</span> }
+ await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.navigator.navigate<span class="hljs-constructor">ToExercise(<span class="hljs-params">file</span>)</span></code></pre>
+						</div>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>file: <a href="mathcoach.file.html" class="tsd-signature-type">File</a></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Datei-Verweis</p>
+								</div>
+							</li>
+							<li>
+								<h5><span class="tsd-flag ts-flagOptional">Optional</span> forceOpen: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">true</span></h5>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
+					</li>
+				</ul>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+					<ul class="tsd-legend">
+						<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
+					</ul>
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/media/usage_author.gif b/docs/media/usage_author.gif
new file mode 100644
index 0000000..f507623
--- /dev/null
+++ b/docs/media/usage_author.gif
Binary files differ
diff --git a/docs/media/usage_tool_developer.gif b/docs/media/usage_tool_developer.gif
new file mode 100644
index 0000000..2f1f250
--- /dev/null
+++ b/docs/media/usage_tool_developer.gif
Binary files differ
diff --git a/docs/modules/__global.html b/docs/modules/__global.html
new file mode 100644
index 0000000..1ccbff7
--- /dev/null
+++ b/docs/modules/__global.html
@@ -0,0 +1,2780 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>__global | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class=" tsd-kind-variable tsd-parent-kind-namespace">
+			<a href="__global.html#mc" class="tsd-kind-icon">MC</a>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Variables</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-variable tsd-parent-kind-namespace"><a href="__global.html#mc" class="tsd-kind-icon">MC</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Variables</h2>
+			<section class="tsd-panel tsd-member tsd-kind-variable tsd-parent-kind-namespace">
+				<a name="mc" class="tsd-anchor"></a>
+				<h3><span class="tsd-flag ts-flagConst">Const</span> MC</h3>
+				<div class="tsd-signature tsd-kind-icon">MC<span class="tsd-signature-symbol">:</span> <a href="../interfaces/mathcoach.api.html" class="tsd-signature-type">Api</a></div>
+				<aside class="tsd-sources">
+					<ul>
+						<li>Defined in MathCoach.ts:7</li>
+					</ul>
+				</aside>
+				<div class="tsd-comment tsd-typography">
+					<div class="lead">
+						<p>Wenn die Bibliothek zur Erweiterung der IDE eingebunden (<code>ide-lib.js</code>) wurde,
+							steht diese globale Variable mit Zugang zur öffentlichen Schnittstelle
+						zur Verfügung.</p>
+					</div>
+				</div>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/modules/helpers.html b/docs/modules/helpers.html
new file mode 100644
index 0000000..fef2454
--- /dev/null
+++ b/docs/modules/helpers.html
@@ -0,0 +1,2949 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>Helpers | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAADMCAYAAAB0ip8fAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAACUhSURBVHja7J0PjF1VncfPTEfclm7YEGtKauoWYXVdxLqyNZqyY/gT21hBRCPoaqcLoYFV10B0dXWxZWElsCYYG0wJ2CkkxSxoA8HQlbTL2ImsCLuFlVUisdC1YbItRBIoO03q7PnN+9155553/vx+55737p07v19y+vreu+8zv3vu/d1z7jnne39DMzMzSqxjF91bnfHg5e3xQ6zXrt/5x43wYwT++e5Q2o+vNmI+B2Pnzp1JjI0bN1Y+6XOf6E3xI0edNuX8ePKONMh7r5rJymiCDcs1VEyssr1Ll/t0+a0uM/h6H34es+W6LOUyfIG7UpfbdXkBIfC6HT+nWhsYn9LlPF1WiR/CcNhJunxNlx/qsk+XD+gyhK+P4Ofw/SLPbz+J//9bLsMVuBfq8gz0Ugzn4fUq/PxCwg7NdwZU0gO6nIr/f3qB+yEMt31Ll1Fd3gN3A7ocws/h9Q78HL6/zfHbW3R5DoOSzRh2XH3uw6bbZUvx+5WRK9h8Z3wFg+VB8UMYnu/XwlCGLp/Q5VXPNq/i9xfh9uZvl+myOJVhB+6XdDklcpU5Bbfz2XxnrIDBQ7z6iR/C8DGglb5Vl1cijFdwu6ut3+6qwrAD9xLifcElid/NB8aFeP8xIX4II7AddF93Exm7cXvzt49XYdiBu4wIWZb43XxgLMfXI+KHMALbLcNjQzH7GC4zPktijDi+XEGEhL4jM8z5vSXjaYzSXOVJG6vuy5RVuQOtD2P+t5IfBedSlaFO1cZGnB9rttd3nhbzvxfDaOEb32oG0mFi8B9xBGEyw25xHyRG/4OJ3yns+r1Pl7fUzPBtB0Pwx7FbUmd9cPxoep220Y8JHDCi2EW4vfnbNVUYduDeGhjdMke5bg18H2NchqNpP1OdebOfWf3/QTF8+wJXv5uMgYO66oPjR9PrtI1+FIOGSyN+LMXtvmv99pNVGHbgHtTlYyo8NP0x3M5nMQZ0Ab+PV7whfP1+DYzQvtyEI3kX1lwfVD/mQ522zY9J1V0gEZpS+iFuN2n99lUsSQzXAgzY4GzVmfydMnbiDvz8EUKzHmIUAy+3Gle+5TUwQvtyQpcNuryO5T011QfVj/lQp2304/OqMzr8n6qzaGO58bur8PPHcTvbvqjLal1uSGEMgTqohkXkrhXbQ0vGd1Zm/KA7OMUyWNyfU5XDZDn3hfmnnYxLj1ev02NjGxtxfqzZPnCRgdMPHJwyDQIQVkCtxYCbwtYRekwHIn9jBfaqzuAwhgYp6zMOXvFHoTV5qPDlaoIrxmink2GqWrg2aDmd8fec+5IYuCUGxZ9+1umgz48cZgS30w9H4A7cRmr6u3t0WWdUxp6aGMlBN4j6oPhjBH8j67TG86Nvftyw8fkkWE4t70hqN9nVHWLY+gy+r899lGoUsK/P4E8j67SNfjRBTE9pcaEPfrjKH9EXhxU6wA9X6ero7twK3WU7HOu2tUFIn/MCIkL6vEL6pjwBIySkh5vkR1VH0PuoKqsbqAG7VpdZBrzC+4SAXavLLANe4b0SE2uWNUJIXwTsftWdcB7F96QANgK2h0ENYCNgexjMABYhfT4/hFG2+oT07xjT4b7SG7C2lQL45TnNbzBgnQxfAHsC1skgBLAtlD6kqgvYqYw2+SEMt7mE9AWnipA+yhj+Q91l/9O/VkoH8H4dwKOUS5QO2NF/V+P7H1PfK32ewrA/P+OMM/affPLJJMZLL700Ojk5uT9wJbWF0ueq7hMGUgXsVEab/BCGu2fqEsHvN36TKqSPMua6ykYAFy2wK9iUDjYFAfuSer7n+xyMpUuXqjPPPBMCWOkA9gWs0gGr9u/fr44ePeo7MC6h9CHr4KQI2CmMNvkhDM+4mXKL4FdagZcipI8yhinBFwu2fjBcAUwM2MIKAfSQUVwHhyJg5zLa5Icw/LdrhQh+xiiuwKMI6VmMkVjw/dvun6vHnvpR0lBbDkYRwI8++uhswDJsmVEhlO3MUT6wIxUYbfJDGP7PjxjBHzKKkJ7FiM7j/v4N05XHykMMc34vNM974sSJ0Ai0MVbXI/qG13/UxdVE71I0IT2XYVc4mRER0pP9CAjpSYyIkH5g9RER0g/Mj4iQHu6Hz9dliYNxr6IJ6VmMOh6IPitQ/rDaMgSlCuOjH/3oEBTPNg8aJz7cK77JOBhFMbcrzCVg5zI4fmxWdCE9l5HDjxx12kY/TBF8Ic87ZgRaUZSiCelZjDoC9zIdsDGhdJShA5Yjtn6TdXCUUVlUIT2HwfGDK6TnMHL4kaNO2+iHLYI/ZgWeMkanqUJ6MsMM3A+qstg3ZJO4vW1Rhg7amEA5ytBBmyK2Lg6OeWC5QnoOg+pHipCew8jhR446bZsfLiF9EXhmwHGF9CTGsNV8nxsJnCJgz7Wa/lk75xtqQpdzCcHnFSi/+93vntClEsPqbppC6Tep6kJ6KoPqR2hfqH7kqI9+12kb/XAJ6Y+p6kL6KGPE03c/F7sFN6rOpC8E0NddweoyCGBgPLHVySgsOOoFAQyMp556KplhXFk3Y+HaPcb/UxlUP6Yz+DHdZz9y1Gmb/DiO5+P9qrMCaqsqi+Bh4cSBwG/HcYDsZi5jJDIABAG8KtLliAbw3ofUqodmthx0KERMgXIwgPfu3btq9+7dBx1qlxKjKXlhmVpacn0QrMSgiOBjdZpDwE5hxM6PHKkuKQyHgih2XA5ggKXY4RTGCPGKVMn+7udrbQZbKH3ttddWZuQItj6ZCOnnkR+NENLf8CexiFmrb4SzK+lESE/YFxHSN9OPBSOk1yfgCn1Ci5Ce6IcI6d0MEdJ3ra9Cen0CrtVllgGv8D4hYEVIL9Z0a4eQ3gjYHgY1gEVI30g/hFG2+oT055+u1LIl3oC1rRTArx89RAlYJ8MXwH0W0h9V1QXsVEab/BCG21xC+iWqupA+yhh+88lKXfA2pXQA79cBTFp6qAN29H9+Mr7/0ERZSJ/CsD/vs5D+BtVdTJ4qYKcy2uSHMNw9U5cI/kLVFQqkCumjjLmushHARQvsCjalg01BwB478nzP9zkYfRbSH7UOToqAncJokx/C8IybKbcIfokVeClC+ihjxBd8//ua7pdNKXXkWCfYjv73PmeguSwHowjgV199Vb344ovqtddemw3YX/7ylxQRPdglxv2h6+AUi8phu89bV7tCwH5LIqNNfgjDzYBe4Zfx/5d7Aq8QDOzG3pP52y/ivXQSYyQWfA9P/Fw9O5Emgs/ByCCk30XczhzlAztSgdEmP4Th/7zQx8Ym8ChCehYjOo87fKK6kD7EMOcsQ3OpFYT0sOLqg0pZj6Ts2IyiCem5DLvCyYyIkJ7sR0BIT2JEhPQDq4+IkH5gfkSE9KtwwNZ1PzykaEJ6FqM2If3bL90yBKUKgyikX6XKz+6xn+1DEdJzGRw/4GBRhfRcRg4/ctRpG/0wRfAQ/OZzquznWFGE9CxGLUJ6HbCDFtLbD95SxogdVUjPYXD84ArpOYwcfuSo0zb6YYvg7YfMKWN0miqkJzMGLqTXQVuXkL44OOaB5QrpOQyqHylCeg4jhx856rRtfriE9EXgmQHHFdKTGFmF9JefpSZ0abKQfqWqLqSnMqh+hPaF6keO+uh3nbbRD5eQ/pCqLqSPMvoipIcABsa9vxAhPcMPEdLPPz/aKaQvAvhf96lVz96/5WCKcFyE9GwTIX3AREjPsPEviJA+YiKkn0d+NEJIf+9/RbZYtla9/VIR0vc5+EVIP4/8WHBC+iotmgjp0/ZHhPQipBchvZiY20RI7whYEdKLkL6pDBHSRwLWyZCM9JJNXi3UjPQLTEgvGemFkYvRjIz0C0RILxnphZGL0ayM9K7giwVbPxiSkV4y0jec0cyM9C0S0ktG+mp+CMP/eXMz0ouQXoT0IqQXIb1SIqQXIX07/KhXSA9LHnHZ4+n6FTY63XP18baYRSEynEL6S4/vLK7ypx84cCDKECG9COlr9qMZQnodcKP4ep7nx6Y5hfQURkxIr4N2FF+9DBHSi5BeiZB+1nbocgUOiIzpwNvqCZqQkJ7KKAZeXALlEkMHbwrD7m6KkL66HznqtI1+1Cqkh0D5uC5wx/0y3n+/oANv8vJ3zfbDC0FvSEjPYRQ2TWHo4J1cvXo1leG7soqQPo8fOeq0TX7UKqS/S3VWZDyAG92HkHEdeCdO7dxrxjS5UQZBSO9l6OCFlud0EdKTTIT0AWubkH4TtnhTeBUYx26aUnQhvZfBENJ7GSKkjwa/COkH5EcjhPRWq2m+du7YT/krtfIjoUvNFhVjOKwkUIYR5aqMHCZCehHSU/xohJB+9fGoE0EhPeVE1Tu6Ql+lAkJ6UndOhPQJ+yNC+oUrpH9BJQrp9U6u1WWWAa/wnsswZH4viJBerKHWKCH93XiPuQRf76YGsBGwPQxqABsB28MQIb2I4BvCqE1IP2IF7I3oMMwt3WMMUI3j+89gIME8EwyDT9oBazN0F3mOob+fY+j/zzL095N2wNoM3W2bY+jv5xj6/7MM/b3vwekXqvLkdnGgrsJg+Jhyz/ctUt1Jb1gf+nQCo01+CMNtIKR/u+rMr5t62kIEvwv50Krac7m3YEx9LYVhtriwagTmS2+ygrawE/j5TbidS6pTYhhBq3A0js0wgra496IwigNgCqVhnu514/sUATuH0SY/hOHumdoieGipFxvbpAjpSQy7q3wNXgHgsR1jRvO8CN8/g99fE6iQOYZuVcd0WYSt8SJ4z2XoVnVMl0XYGi+C90SGLZSGq5e9CosrYKcy2uSHMDzjZqpXBH+V6l3zzBXSkxh24EKX+EzVWclxPQaI+Xozfj/uqw3dqvYwdMD2MHA734hmD0MHbA8Dt/OZSwD9JHZJ9gS2cwnYuYw2+SEMt5ki+NIAtOosU1xnfEYR0rMYLj3uCeueFtYPb/J0n33Be8K6p51j2N3nQPCesO5p5xh299ljPgE0LKdcjxWzWtEE7FxGm/wQhv/3Pr0v3N48jBeBA4ompGcxQkL6IoB3hFpYYgDvgBYW5sDseTDzvWtFihHAO6CFhXlJe24yIqR3VcjdeFCUognpuQzTWIyIkJ7sR0BIT2JEhPQDq4+IkH5gfkSE9K7g/6zqrjGmCOlZjDqE9KYN9ZHhElHDwXhClw8HtnMJ2LkMjh+zDwVQNCE9l5HDjxx12kY/TBG8aRBo5+hiPquJIqRnMezANQekfFYMVDnNHJAKGJyMXqG0OSCVylBloTQYrIH+qerMhZojdlQhPYfB8YMrpOcwcviRo07b6IctggeDZbow/3rQGp2mCunJDDsj/RWOEWXlGFm+Qvkz0l9hjyhbDLBYRvor7BFlJkOpXqH0nY5hdq6QnsOg+pEipOcwcviRo07b5odLSH+l6p1S4grpSQxXRvrNVgArK2A3K09Gen2POqFLiYFTQMqYCioGXpwCZX0fO6FLiYFTQMqYCgoyrO6mKZQuDkgVIT2VQfUjtC9UP3LUR7/rtI1+uIT0xe+qCOmjjKF/GH9rqCsazUgfkjjpYPUxXKLIIRdLByuL8YOTNqoUy724n8mayXD/72RYyqskxrGxtDqtIDJw+rFm+8BFBk4/cHDKvjf+Gp6jpgj+JuUX0he2AntVZ3AYocAtLJiRnqJN1AG8Sm930BhBLirEFCgPhVg6gFfpltgU0jsZFOG4zwYt6zP+nnNfEgO3xKD408865ZgR3E4/cgj6KWYEt9MPR+AO3AaSkR6C1vqILZSGoK3KyBl0mU2E9PPIj6YJ6QdpkpGesC8ipG+mHwsmI30hpE+9UmF3ToT0CfsjQnoR0ouQXkzMbSKkdwSsCOlFSN9UhgjpzYBVIqRvmh/CcJsI6X0MEdKLkL6hDBHShxgipBchfUMZIqR3jGj2MERIX5sfwnCbCOk9wStC+mb4IQz/70VIj9uHAliE9Aw/REif1w8R0pdNhPR+wfZDSoT0TfajViG9KTLwiQlmrOBYZHRd7aDxMnRrOmS0rqM4HL4G+/pffpvaOhFj6BZ3yGgJehiwY5Y6CHbuJ3ijDzrH7zhG7EDWddBasQTzav+iy4scRuAkCTFOw+mAnn1h+OFkXHp850RVP46NbeQwSvUBq548K6bYfqzZPpTsB6x68qyYYvuhW9vCjz/Q5f+w8fs9fgaa3s87RqefxtZz0hhVhs7QV1MZw9YNMxhoYE9WaUJ6CgMsJFDOwRjD1wuwkg4pntj627p8qCKD6kdIsE31YypDfUz1uU7b5sdl+LrJaMA4QvobqzCcGel12abLm1U3X6cZsD4hfZBBFNIHGUQhvc24AW/wnzQOSExsPUhGjn1pCqMp9TFoP76HAbbM+F1MSP/PVRjejPQY3Q8Zrd9mxcxI72EUNp2bobvJIcY5xHvmuhjTLWKoBerHHry1jGWkr8wo7nHhCnKG6maCfw6b7BMqIqS3rmReRkxIr+9xh2IMipBeB6+XEVMAGfe4IT+oFvWDIKTn+NHD0Pe4QUahAArVqb7HDTJi4nbjHjfKCAnp9T1u0I9YpnnjHjfKCAnp9T3uUL/PD8qPB5KRniGk9zIYQvrQvqiq+8IIfo4f7H1xBH+O+qilTtvkR+RRTql+eAMXzJkJ/rSx54OAF8dLziRlk9etbWWGZVSG4jKYWtm+7YvDjxLDetZUkh/Ws6b6VqcxP6xnTdXmh/XIGieDqddN3peh21X0QT5BIT3lOUC6C7RCb1dJjF8I6WPbNUXALkJ6EdL30/oqpNcHa60uswx4hfcJAStCerGmW6OE9HtVZ33yEnzdSw1gI2B7GNQANgK2hyFCehHBN4TROCH9NtzwS9hVhhMH5pJgEtorpMeAJDH0trMM3RUKCemDDBHSiwheiZC+JGDfhjfMy3AnluH7bYougq+TURwAUygNq1Hep7qrUlIE7BxGm/wQhrtnaovgi1xDxQqsFCE9ieET0v8Orybwg7fg67fwc6oIfo6hW9XKDN2qchm2UHoSW2uzdeYK2KmMNvkhDM+4meoVwa/FxsQMUq6QnsTwCekX48a348lzO75frCJCeh2kPQzdLe5h4Ha+Ec0eBgrpSwyikB6uoE9it0Th65PGlZUiYOcy2uSHMNxmiuDhfATx+2fw/WfwfdFqUoT0LIYduDuMrkHxBIqtqvvki6KLsSMwMEVi4Ha+gSkSA7fzWbHmE27yz7EOzDn4ubmdOcqnVFm4zGW0yQ9h+H9f6GMhPecTVtA9gZ/bx9D8bTLDNar8KyNAx42WeKX1fcjmGEXLiq89DJjfK4qPUbSs+NrDKMT11pwlp0JMm0o8MD5jMQJCepYfwLHmg1mMzHWazPCcHwP3A+Z/oVw8/YJKvKCGhPRshh24sAzrbCMwdhgtcREoZ+N2vq5yiVG0rPj6K+z6naLKUia7q1xiFC0rvpIYqiuUjnVBKEJ6LoPjx+OKnpGey8jhR446baMfpgg+1t2mCOlZDFdG+ueMADWteP+cCmSk1wEaY1yGFRLMSF+VoXozjq/FA2Le9HMz0lMZHD9SMtJTGTn8yFGnbfTDlU1+EoPNHODiZqQnMXwZ6YsA3WS0xEUgkTLSFwxsgYuW+DkVFyj3MLAFLlpiCgPMzji+GLtA5jA7NyM9h0H1IyUjPYeRw48cddo2P1wZ6V/H7q05pcTNSE9i+DLSTyp3RvpJFchIr4NzQpcSA1vgoiXmZqSfZUhGeslI31A/6stIHxAZkDLSh0QGOlhZ2eRdLMlIX40hGelbmpGeoA4KCumJ6qBVeruDVTKOS0Z68kkmGekrmmSk7wa3ZKQPm2Skn0d+NCIjPfUqpq9CK3SXo5KmVnd1Vjy+eZZRJeN4oQ+WjPQERg4/ajDJSF+1xdUBW6h11ur/z95j6gCeZHY95hg6eJMYhmpo7l7XpQqSjPTl/REh/QIT0kOw6fKoKieWntXD4uekgK3K8CS4ntPlKjGx+q1+Ib0j2M7EQAF94pewmzrKDFg2wxGwbAaaCOnz+SGMstUmpHe1uKYeFqRHsATMTrMZs6YwLsTfXG0ciEIo/Qx+7zKopAdURwsL/386gdEmP4Thtm9h4wHz67CqqcitW4jg34Pf3+b4LQjpn8OgZDN8XWVTDzsXKLqfP864mvWNYYkNQldSUyhtW4qAncNokx/C6DWXkN62FCE9iTHsuREvuqaLzWDT3V9TbBC7ma/MsHS5cwFriA1CVgilz1e9c6JD+DlVwM5ltMkPYXjGzVRXBL9X9S7WmMHPqUJ6FmPYc49q6mHtYDubODBVmWHpcu2AjTEKAfQ+T4Xss7Yzu0+2gJ3LaJMfwnCbKYI/zxP85+H/KUJ6FiP0eNZfWa9n61bTFBtQrC8MQ2wQsmVEfkomeM7fmu9+CMP/+REiIyUjfZDh6yqbeti5YNOt5pjqLvKPdZWjjEKcXBRHV7nEKALWFBuYgm+P6JtSIaZNJR6YlO96tosI6cl+BIT0JEbmOk1mRIT0A/MjIqSnBH9MSM9i+LrKY0aLZgZbMUBE6Sr7GB/Cm+zoTLilyzUDlsIohNLrPF2QddZ2hbkE7FwGxw8YOacK6bmMHH7kqNM2+mGK4Pd4utvFUk2KkJ7F8HWVrzda1mcco8IU8zFgTc+fqbBQOgejEEo/7KmQhxVdSM9lcPw4pOhCei4jhx856rSNfpgi+PWe4F+v6EJ6FsMXuGcaLevNjlHhVwiB28NQ3WdYxYTSORi2UNo1zM4V0nMYVD9ShPQcRg4/ctRp2/xwCeltSxHSkxi+wF1ZtKxWwD6BLQFF19TDUN1nWFGE0rMMx4PiOAwR0ufxI0edttGP+oT0MzMz9r3pjdg9gyvMGLZwF2EzfasOwmhrG2F8XXkEyuZicH0/m8QQIX2ZIUL6lgrp7cDFnYOJ52sxYO6hBmyMYXSxnQJlO6u4Dl42Q4T0IqSvavNWSI9B+g0sqVe5HoZRISShtD5hehjGSSZCeiVC+jr8aISQvqYK6bvom9N6mgGSW89L5PVdSE/U5a4ntoisbnICYz2xRWR1kxMY63MFIgR7EfCpAWxeMAYauL5K5FjGbttyY0CCY+ZEeCrD6QfzAuL0o0KvYY5RoY6z1keFrnFWPyqct307x4bVwrQ7VWcdMNdgEOJzFRlt8kMYNR3bhRi4IJKGVSuHmL+DJxHAZP1kBUab/BBGjceW8sypU/AKAHNKML+1LXGEuRIDR5hLDBy84tjt+PtvJ1Toj1Vn7u2SREab/BBGzcc29MypU3SBeaXfqM4c05X4+hv9+fXUgK3KgIDVxcnAnLmcCi30jI8wfvdOo0JHExlt8kMYDTi2w4Rg+4AlxYMlWFuZActmOAL2A5acL8ow7DtGZcAKpH2MCgUh83WqMzGewmiTH8JoyLF1tbigW4JHpnwag+14ggg+KwMD9jhTSF/YbcbNPthivH9YTrwKXof3GimMNvkhjAYdW1fgwr3k/bo8oINtr0oTwWdl6IAtMYhCerD3q07mP9vgwXO/xu999k3VSXf42wqMNvkhjAYdW9/KqU064G7GYHmHfv+sfr8INbVfUWWlg0pl2JPg9nwZBKgO2jmGfv+sfr8IdbmzDHthgTUH+Rj8TnWeqPcpy8W78HufXYy/gVVbX9DlggQGyw/P3C3LD5thzeuS/OhjnbIY9mINa153YH5EztNazjGukB6uCpu14+cSBqZ8DEge/Beqk6ozNjBVYhhCejJDddRMV6puvtHZcwIHAmK2CyttSwVGm/wQRkOOrStwP6jKiaVLAavLBMEZL0N15El/ruJC+hyMws5T3YTFUBnXMA4KcCcqMmJ+jBL2JebHaIb6GB1QnYofFc+xYUcXdwJbVAiQe5gBG2So7qM3okJ6K8H1LAPfkxlWxYDdwazQU/H+Yk8FBsWP2L5Q/MhRH4OoU/Ejwzk2Ego+5UhkzbEAwxYo3+hjQABXZaiOwuMuvAhwr8SvYKV+JZFB8SO2LxQ/ctTHIOpU/MhwjtWlDgKbHhBjJY7cXZnAh3Wj8GDspRUYVD+mM/gx3Wc/ctSp+JHhHKt7rfKGATDguT6bEtnbVOfpA1UYHD82ZPBjQx/9yFGn4keGc6yuwC2E0VVF3xTGyxX8nMrAoPgR25epDAw1IMYg6qNNfiSdY0Pj4+OV9hrm+KjJk8+aHgt+/4s3jlc+ClX0un/5T09W/vs/+fv3kreNaW5/dzDuzx+tCv895qNrstcpx2Ii+xoeXeMbu0lm53gKBgjqB3qP6wtMTvDHTq7U4OMEXD8vAuAH57e+4C72RzLS581IXyX4Uh95w+kqV8mw3TSGmFjrzA7cKhm2m8YwJ899xTWpDhPgoPRYWoHRJj+E0cBjawdulQzbTWPAZPmayIVrjeqdVIeF3aDSeLUCo01+CCPM+Co2Kr7yVcKxZTPMwHVl2N6uukuwlPJn2G4aA4wqy7K3OzUDo01+CCP8XUx3u49wbNkMM3DN7NiFweMz9qtucmml3Bm2m8YQE1sw97hmduzSgJrq5C9ZZ3y2W/kXwjeBISa2YAI3lEAZmnZ4+txqfO9LyNsUhphYq82cxy2C4LBjO1jV8VnVTT7kC64khiPreQXGWfP6gORYBGJyrliR9vvyMdlYW32Y879rttd3XErzvw3IHWS2uGZ2bNMgSM7R5UfGZ3aG7RQGBOZb+sSYTwb7C5nPh1rAaEp9tMmPaOCa2bELA4kRzJ2aCYJdGba5jJBAOQdjPtllKp6Bfb4wmlIfbfIjGriuDNv2ozR8GbY5DDBupm8uQ3m62i477OjuV2Vw/PBlPj+SgaEGzOhnfTTVj3URzjrCOcZm2AswqmTYpjKK/1fJ9E1hXKniCZemVK/+cReWFRUYXD9c+8L1I0d99KtO2+zHDhVe9bSDcI6xGbbI4LjqZHuHx6LCksKtqpwd+xMqnmE7xrgDt5vuMwMkWKcl9EKgZf+0cTVMYaT4MZ3Bj+k++JGjTsWPzOeYTx10AIO0ilEYZqbvLIzcKp9Uo/jhGEGO1QfFSgyKJM+hICoxcsjpKAyHgqjkR440rRSGQ0FU8iOnyifVRnJoLamMWDZ55kmWPWt5jUHv3Bdm8EtG+nngR66gb21G+hQbtJA+ti9MfxpZp+JH2ealkH4QrftCE9LH9keE9O0U0o9UqVj7viUHI+VEG9SjVcTEmmJtzkgvQvo8fgijgcfWFbgzhBKzJjBESJ/HD2GEGbUL6UvdcexGF8+T3YDvb+B06Wtm2JPl8HT41wnbnZqB0SY/hBFmmCJ4+4EPSvGF9CSGK3BhgQOk/TthfX4CP58kBE1TGKbBog3IPXSoQvdbGMIImeuBD31huAI3lrqSktqyKQzbYLgWnldVZT5OGMIImeuBD9kZbR6c8hloemF+7oAwhNEnhv3Ah+yMkbqjyJxCSl1aV55COotSIXdnqNS+MJhzuF4/GEJ6J4MppO9bfTCF9H3xY2j4JPUfd76xu8UbTqME/2czXEC8jIXW4sLBeEKXDzeIkSrYbiKjKfWRzQ8dtFw/XA98ULkZdQVuDhE8lwHZ7H+qy6oKfveDkSLYbiqjKfWRxQ8dtFw/XA984BqJEQvcRdZrirkYnEzfqQxbvHyn6h1md213JAOD40eKkJ7KUANm9LM+BuqHDtoUIb3rgQ9cIT2JEQrc21U3A/dt+J5rPkZMoJyDIUL6PH7kqNM2+9EIIb1p12ToEocY031miJA+jx856nRe+QGDUU0/x+oeVc4uHBchvQjpQ0ZhlEaQHX40Qkg/yINjHBivQDl2oomQ3hv8IqSfB36IkD7C4MyHmgGSW89L5PVdSE+US65ntojsiziREfSDo6n1tbAhhtFVDvrB0eWaAZtDzzvQwM3RqmfU3i4nDE64zMzikMpw+sG8gDj9qNBrmGNUqOOs9VHhfKnkx8zvj5cYFbrofTvHFqqQHob+b0ioUJigv0R1RA6pjDb5IYyaju1CXKsMC+dAZ8lVgbxLddaOTlZgtMkPYdR4bNsspHcZzAGDbGpfQoX+WJcv4tUwhdEmP4RR87Fts5DeVaFFEuxHGL97p1Gho4mMNvkhjAYc24UipP+OURmvM66GUKF7dblOl7WJjDb5IYyGHNuFIKSHZZKfM94vxvuH5cSr4HV4r5HCaJMfwmjQsW374NT7VUf1YRs8rOvX+L3Pvqk6T0T4bQVGm/wQRoOObeuE9NbU0GO6vEOXW3T5lPWzu/B7n12Mv4Fu+Rd0uSCBwfLDM3fL8sNmWPO6JD/sKbmMdcpi2NOL1vkxMD/sxRrWvG4t59hCmA6CRdy2VOq7OBAQs11YaVsqMNrkhzAacmyH4aqWmh6iuComMHpE8EvGd3IXX3CE9OeprtYSKuMa5t+ZqMiI+UHZl5gfOepjUHUqflQ8x8wWdwxfzb42V0hPZYQEyjkYrooBu4NZoafi/cWeCgyKH7F9ofiRoz4GUafiR4ZzrAjcHRgoyzFwdiDwb4xRs5iQnsPwCZRzMFy2Du8VNidciV9RXZVICoPiR2xfKH7kqI9B1Kn4keEcG8FA+bgub1WdJ8vBDfMLqjNP+iHiH09hTPeB4bKVOHJ3ZcIBhXWj56tOjpdUBtWP6Qx+TPfZjxx1Kn5kOMeGMcLv1+UBvKI8gO/HGX88lbEhM8NlkJ9lU+JB3aY6T9yrwuD4sSGDHxv66EeOOhU/MpxjxXTQJmzxpjBQoMyuWGJM0UQZBCG9l1FMSSQI6V+ucFCnMjAofsT2ZSoDQw2IMYj6aJMfSefY/wswAKmMl4i8NCtXAAAAAElFTkSuQmCC);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,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);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class=" tsd-kind-class tsd-parent-kind-namespace">
+			<a href="../classes/helpers.inmemorystorage.html" class="tsd-kind-icon">In<wbr>Memory<wbr>Storage</a>
+		</li>
+		<li class=" tsd-kind-function tsd-parent-kind-namespace">
+			<a href="helpers.html#contextfiletoexercisefile" class="tsd-kind-icon">context<wbr>File<wbr>ToExercise<wbr>File</a>
+		</li>
+		<li class=" tsd-kind-function tsd-parent-kind-namespace">
+			<a href="helpers.html#createstoragebasedapi" class="tsd-kind-icon">create<wbr>Storage<wbr>Based<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-function tsd-parent-kind-namespace">
+			<a href="helpers.html#enableofflineusageifnecessary" class="tsd-kind-icon">enable<wbr>Offline<wbr>Usage<wbr>IfNecessary</a>
+		</li>
+		<li class=" tsd-kind-function tsd-parent-kind-namespace">
+			<a href="helpers.html#isfile" class="tsd-kind-icon">is<wbr>File</a>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel tsd-comment">
+			<div class="tsd-comment tsd-typography">
+				<div class="lead">
+					<p>Hilfsfunktionen für Werkzeug-Entwickler. Diese werden nicht durch die <code>ide-lib.js</code>
+					ausgeliefert!</p>
+				</div>
+			</div>
+		</section>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Classes</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-class tsd-parent-kind-namespace"><a href="../classes/helpers.inmemorystorage.html" class="tsd-kind-icon">In<wbr>Memory<wbr>Storage</a></li>
+						</ul>
+					</section>
+					<section class="tsd-index-section ">
+						<h3>Functions</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="helpers.html#contextfiletoexercisefile" class="tsd-kind-icon">context<wbr>File<wbr>ToExercise<wbr>File</a></li>
+							<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="helpers.html#createstoragebasedapi" class="tsd-kind-icon">create<wbr>Storage<wbr>Based<wbr>Api</a></li>
+							<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="helpers.html#enableofflineusageifnecessary" class="tsd-kind-icon">enable<wbr>Offline<wbr>Usage<wbr>IfNecessary</a></li>
+							<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="helpers.html#isfile" class="tsd-kind-icon">is<wbr>File</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<section class="tsd-panel-group tsd-member-group ">
+			<h2>Functions</h2>
+			<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
+				<a name="contextfiletoexercisefile" class="tsd-anchor"></a>
+				<h3>context<wbr>File<wbr>ToExercise<wbr>File</h3>
+				<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
+					<li class="tsd-signature tsd-kind-icon">context<wbr>File<wbr>ToExercise<wbr>File<span class="tsd-signature-symbol">(</span>contextFile<span class="tsd-signature-symbol">: </span><a href="../interfaces/mathcoach.file.html" class="tsd-signature-type">File</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/mathcoach.file.html" class="tsd-signature-type">File</a></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:162</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Bildet die Kontext-Datei auf eine Aufgaben-Datei mit selben Namen ab.</p>
+							</div>
+							<p>Ein Werkzeug speichert sein Datenmodell in der sogenannten Kontext-Datei. Soll
+								eine MathCoach-Aufgabe generiert werden, ist es sinnvoll, wenn die Aufgaben-Datei
+							den selben Namen wie die Kontext-Datei trägt (natürlich mit anderer Dateiendung).</p>
+							<p>Beispielsweise wird eine Dateireferenz mit dem Pfad <code>&quot;/path/to/myExercise.mcq.json&quot;</code>
+							auf eine Dateireferenz mit dem Pfad <code>&quot;/path/to/myExercise.groovy&quot;</code> abgebildet.</p>
+							<p>Anwendungsbeispiel</p>
+							<pre><code> import { Helpers } from <span class="hljs-string">"@mathcoach/ide-api"</span>;
+ const contextFile: MathCoach.File = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span>;
+ const exerciseFile: MathCoach.File = <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Helpers</span>.</span></span>context<span class="hljs-constructor">FileToExerciseFile(<span class="hljs-params">contextFile</span>)</span>;</code></pre>
+						</div>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>contextFile: <a href="../interfaces/mathcoach.file.html" class="tsd-signature-type">File</a></h5>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <a href="../interfaces/mathcoach.file.html" class="tsd-signature-type">File</a></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
+				<a name="createstoragebasedapi" class="tsd-anchor"></a>
+				<h3>create<wbr>Storage<wbr>Based<wbr>Api</h3>
+				<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
+					<li class="tsd-signature tsd-kind-icon">create<wbr>Storage<wbr>Based<wbr>Api<span class="tsd-signature-symbol">(</span>contextFileExtension<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span>, storage<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Storage</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/mathcoach.api.html" class="tsd-signature-type">Api</a></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:59</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Implementierung der MathCoach API zu Testzwecken.</p>
+							</div>
+							<p>Das Dateisystem wird durch einen Storage implementiert. Einige Features der
+								IDE (beispielsweise der Navigator) sind nicht verfügbar und führen keine Aktionen
+							durch. Alle Aktionen werden in der Browser-Console geloggt.</p>
+							<p>Anwendungsbeispiel</p>
+							<pre><code> import { Helpers } from <span class="hljs-string">"@mathcoach/ide-api"</span>;
+ const _MC = <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Helpers</span>.</span></span>create<span class="hljs-constructor">StorageBasedApi()</span>;
+ const contextFile = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">_MC</span>.</span></span>ide.get<span class="hljs-constructor">ContextFile()</span> <span class="hljs-comment">// use the api</span></code></pre>
+						</div>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5><span class="tsd-flag ts-flagDefault value">Default value</span> contextFileExtension: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;dummy.json&quot;</span></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Die Datei-Erweiterung der Kontext-Datei. Das Werkzeug sollte
+										unabhängig davon implementiert sein, da der Administrator der MathCoach IDE unter
+									Umständen auf eine Alternative ausweichen muss.</p>
+								</div>
+							</li>
+							<li>
+								<h5><span class="tsd-flag ts-flagDefault value">Default value</span> storage: <span class="tsd-signature-type">Storage</span><span class="tsd-signature-symbol"> = (typeof localStorage &#x3D;&#x3D;&#x3D; &quot;undefined&quot;) ? new InMemoryStorage() : localStorage</span></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Storage-Implementierung, die zum Speichern von Dateien verwendet werden
+										soll. Standardmäßig wird der <code>LocalStorage</code> des Browsers verwendet
+									bzw. falls nicht verfügbar der <code>InMemoryStorage</code>.</p>
+								</div>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <a href="../interfaces/mathcoach.api.html" class="tsd-signature-type">Api</a></h4>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
+				<a name="enableofflineusageifnecessary" class="tsd-anchor"></a>
+				<h3>enable<wbr>Offline<wbr>Usage<wbr>IfNecessary</h3>
+				<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
+					<li class="tsd-signature tsd-kind-icon">enable<wbr>Offline<wbr>Usage<wbr>IfNecessary<span class="tsd-signature-symbol">(</span>contextFileExtension<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:27</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Bildet die MathCoach API nach, sodass diese auch Offline (ohne IDE)
+								verfügbar ist. (Siehe auch <code>createStorageBasedApi</code>).</p>
+							</div>
+							<p><strong>Hinweis</strong>: Wenn die echte MathCoach-API der IDE verfügbar ist, hat der Aufruf
+							dieser Funktion keinen Seiteneffekt.</p>
+							<p>Anwendungsbeispiel</p>
+							<pre><code> import { Helpers } from <span class="hljs-string">"@mathcoach/ide-api"</span>;
+ <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">Helpers</span>.</span></span>enable<span class="hljs-constructor">OfflineUsageIfNecessary()</span>;
+ <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>is<span class="hljs-constructor">Ready()</span> <span class="hljs-comment">// use the api</span></code></pre>
+						</div>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5><span class="tsd-flag ts-flagDefault value">Default value</span> contextFileExtension: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> = &quot;dummy.json&quot;</span></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Datei-Erweiterung der Kontext-Datei (Das Werkzeug soll
+									jedoch unabhängig von der Endung arbeiten können)</p>
+								</div>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
+						<p>Gibt <code>true</code> zurück, wenn die Offline-Funktionalität aktiviert
+						wurde, andernfalls <code>false</code></p>
+					</li>
+				</ul>
+			</section>
+			<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
+				<a name="isfile" class="tsd-anchor"></a>
+				<h3>is<wbr>File</h3>
+				<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
+					<li class="tsd-signature tsd-kind-icon">is<wbr>File<span class="tsd-signature-symbol">(</span>maybeFile<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">maybeFile</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">File</span></li>
+				</ul>
+				<ul class="tsd-descriptions">
+					<li class="tsd-description">
+						<aside class="tsd-sources">
+							<ul>
+								<li>Defined in Helpers.ts:136</li>
+							</ul>
+						</aside>
+						<div class="tsd-comment tsd-typography">
+							<div class="lead">
+								<p>Type Guard, der prüft, ob es sich um eine gültige <code>MathCoach.File</code>-Referenz handelt.</p>
+							</div>
+						</div>
+						<h4 class="tsd-parameters-title">Parameters</h4>
+						<ul class="tsd-parameters">
+							<li>
+								<h5>maybeFile: <span class="tsd-signature-type">any</span></h5>
+								<div class="tsd-comment tsd-typography">
+									<p>Ein beliebiges Objekt, das geprüft werden soll</p>
+								</div>
+							</li>
+						</ul>
+						<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">maybeFile</span><span class="tsd-signature-symbol"> is </span><span class="tsd-signature-type">File</span></h4>
+					</li>
+				</ul>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/modules/mathcoach.html b/docs/modules/mathcoach.html
new file mode 100644
index 0000000..e12ac07
--- /dev/null
+++ b/docs/modules/mathcoach.html
@@ -0,0 +1,2789 @@
+<!doctype html>
+<html class="minimal no-js">
+<head>
+	<meta charset="utf-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<title>MathCoach | @mathcoach/ide-api</title>
+	<meta name="description" content="">
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+	<style type="text/css">/*! normalize.css v1.1.3 | MIT License | git.io/normalize */
+/* ==========================================================================
+ * * HTML5 display definitions
+ * * ========================================================================== */
+/**
+ * * Correct `block` display not defined in IE 6/7/8/9 and Firefox 3. */
+article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary {
+  display: block;
+}
+
+/**
+ * * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3. */
+audio, canvas, video {
+  display: inline-block;
+  *display: inline;
+  *zoom: 1;
+}
+
+/**
+ * * Prevent modern browsers from displaying `audio` without controls.
+ * * Remove excess height in iOS 5 devices. */
+audio:not([controls]) {
+  display: none;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
+ * * Known issue: no IE 6 support. */
+[hidden] {
+  display: none;
+}
+
+/* ==========================================================================
+ * * Base
+ * * ========================================================================== */
+/**
+ * * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
+ * *    `em` units.
+ * * 2. Prevent iOS text size adjust after orientation change, without disabling
+ * *    user zoom. */
+html {
+  font-size: 100%;
+  /* 1 */
+  -ms-text-size-adjust: 100%;
+  /* 2 */
+  -webkit-text-size-adjust: 100%;
+  /* 2 */
+  font-family: sans-serif;
+}
+
+/**
+ * * Address `font-family` inconsistency between `textarea` and other form
+ * * elements. */
+button, input, select, textarea {
+  font-family: sans-serif;
+}
+
+/**
+ * * Address margins handled incorrectly in IE 6/7. */
+body {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Links
+ * * ========================================================================== */
+/**
+ * * Address `outline` inconsistency between Chrome and other browsers. */
+a:focus {
+  outline: thin dotted;
+}
+a:active, a:hover {
+  outline: 0;
+}
+
+/**
+ * * Improve readability when focused and also mouse hovered in all browsers. */
+/* ==========================================================================
+ * * Typography
+ * * ========================================================================== */
+/**
+ * * Address font sizes and margins set differently in IE 6/7.
+ * * Address font sizes within `section` and `article` in Firefox 4+, Safari 5,
+ * * and Chrome. */
+h1 {
+  font-size: 2em;
+  margin: 0.67em 0;
+}
+
+h2 {
+  font-size: 1.5em;
+  margin: 0.83em 0;
+}
+
+h3 {
+  font-size: 1.17em;
+  margin: 1em 0;
+}
+
+h4, .tsd-index-panel h3 {
+  font-size: 1em;
+  margin: 1.33em 0;
+}
+
+h5 {
+  font-size: 0.83em;
+  margin: 1.67em 0;
+}
+
+h6 {
+  font-size: 0.67em;
+  margin: 2.33em 0;
+}
+
+/**
+ * * Address styling not present in IE 7/8/9, Safari 5, and Chrome. */
+abbr[title] {
+  border-bottom: 1px dotted;
+}
+
+/**
+ * * Address style set to `bolder` in Firefox 3+, Safari 4/5, and Chrome. */
+b, strong {
+  font-weight: bold;
+}
+
+blockquote {
+  margin: 1em 40px;
+}
+
+/**
+ * * Address styling not present in Safari 5 and Chrome. */
+dfn {
+  font-style: italic;
+}
+
+/**
+ * * Address differences between Firefox and other browsers.
+ * * Known issue: no IE 6/7 normalization. */
+hr {
+  box-sizing: content-box;
+  height: 0;
+}
+
+/**
+ * * Address styling not present in IE 6/7/8/9. */
+mark {
+  background: #ff0;
+  color: #000;
+}
+
+/**
+ * * Address margins set differently in IE 6/7. */
+p, pre {
+  margin: 1em 0;
+}
+
+/**
+ * * Correct font family set oddly in IE 6, Safari 4/5, and Chrome. */
+code, kbd, pre, samp {
+  font-family: monospace, serif;
+  _font-family: "courier new", monospace;
+  font-size: 1em;
+}
+
+/**
+ * * Improve readability of pre-formatted text in all browsers. */
+pre {
+  white-space: pre;
+  white-space: pre-wrap;
+  word-wrap: break-word;
+}
+
+/**
+ * * Address CSS quotes not supported in IE 6/7. */
+q {
+  quotes: none;
+}
+q:before, q:after {
+  content: "";
+  content: none;
+}
+
+/**
+ * * Address `quotes` property not supported in Safari 4. */
+/**
+ * * Address inconsistent and variable font size in all browsers. */
+small {
+  font-size: 80%;
+}
+
+/**
+ * * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
+sub {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+}
+
+sup {
+  font-size: 75%;
+  line-height: 0;
+  position: relative;
+  vertical-align: baseline;
+  top: -0.5em;
+}
+
+sub {
+  bottom: -0.25em;
+}
+
+/* ==========================================================================
+ * * Lists
+ * * ========================================================================== */
+/**
+ * * Address margins set differently in IE 6/7. */
+dl, menu, ol, ul {
+  margin: 1em 0;
+}
+
+dd {
+  margin: 0 0 0 40px;
+}
+
+/**
+ * * Address paddings set differently in IE 6/7. */
+menu, ol, ul {
+  padding: 0 0 0 40px;
+}
+
+/**
+ * * Correct list images handled incorrectly in IE 7. */
+nav ul, nav ol {
+  list-style: none;
+  list-style-image: none;
+}
+
+/* ==========================================================================
+ * * Embedded content
+ * * ========================================================================== */
+/**
+ * * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
+ * * 2. Improve image quality when scaled in IE 7. */
+img {
+  border: 0;
+  /* 1 */
+  -ms-interpolation-mode: bicubic;
+}
+
+/* 2 */
+/**
+ * * Correct overflow displayed oddly in IE 9. */
+svg:not(:root) {
+  overflow: hidden;
+}
+
+/* ==========================================================================
+ * * Figures
+ * * ========================================================================== */
+/**
+ * * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11. */
+figure, form {
+  margin: 0;
+}
+
+/* ==========================================================================
+ * * Forms
+ * * ========================================================================== */
+/**
+ * * Correct margin displayed oddly in IE 6/7. */
+/**
+ * * Define consistent border, margin, and padding. */
+fieldset {
+  border: 1px solid #c0c0c0;
+  margin: 0 2px;
+  padding: 0.35em 0.625em 0.75em;
+}
+
+/**
+ * * 1. Correct color not being inherited in IE 6/7/8/9.
+ * * 2. Correct text not wrapping in Firefox 3.
+ * * 3. Correct alignment displayed oddly in IE 6/7. */
+legend {
+  border: 0;
+  /* 1 */
+  padding: 0;
+  white-space: normal;
+  /* 2 */
+  *margin-left: -7px;
+}
+
+/* 3 */
+/**
+ * * 1. Correct font size not being inherited in all browsers.
+ * * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
+ * *    and Chrome.
+ * * 3. Improve appearance and consistency in all browsers. */
+button, input, select, textarea {
+  font-size: 100%;
+  /* 1 */
+  margin: 0;
+  /* 2 */
+  vertical-align: baseline;
+  /* 3 */
+  *vertical-align: middle;
+}
+
+/* 3 */
+/**
+ * * Address Firefox 3+ setting `line-height` on `input` using `!important` in
+ * * the UA stylesheet. */
+button, input {
+  line-height: normal;
+}
+
+/**
+ * * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * * All other form control elements do not inherit `text-transform` values.
+ * * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
+ * * Correct `select` style inheritance in Firefox 4+ and Opera. */
+button, select {
+  text-transform: none;
+}
+
+/**
+ * * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * *    and `video` controls.
+ * * 2. Correct inability to style clickable `input` types in iOS.
+ * * 3. Improve usability and consistency of cursor style between image-type
+ * *    `input` and others.
+ * * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
+ * *    Known issue: inner spacing remains in IE 6. */
+button, html input[type=button] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+input[type=reset], input[type=submit] {
+  -webkit-appearance: button;
+  /* 2 */
+  cursor: pointer;
+  /* 3 */
+  *overflow: visible;
+}
+
+/* 4 */
+/**
+ * * Re-set default cursor for disabled elements. */
+button[disabled], html input[disabled] {
+  cursor: default;
+}
+
+/**
+ * * 1. Address box sizing set to content-box in IE 8/9.
+ * * 2. Remove excess padding in IE 8/9.
+ * * 3. Remove excess padding in IE 7.
+ * *    Known issue: excess padding remains in IE 6. */
+input {
+  /* 3 */
+}
+input[type=checkbox], input[type=radio] {
+  box-sizing: border-box;
+  /* 1 */
+  padding: 0;
+  /* 2 */
+  *height: 13px;
+  /* 3 */
+  *width: 13px;
+}
+input[type=search] {
+  -webkit-appearance: textfield;
+  /* 1 */
+  /* 2 */
+  box-sizing: content-box;
+}
+input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
+  -webkit-appearance: none;
+}
+
+/**
+ * * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
+ * * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
+ * *    (include `-moz` to future-proof). */
+/**
+ * * Remove inner padding and search cancel button in Safari 5 and Chrome
+ * * on OS X. */
+/**
+ * * Remove inner padding and border in Firefox 3+. */
+button::-moz-focus-inner, input::-moz-focus-inner {
+  border: 0;
+  padding: 0;
+}
+
+/**
+ * * 1. Remove default vertical scrollbar in IE 6/7/8/9.
+ * * 2. Improve readability and alignment in all browsers. */
+textarea {
+  overflow: auto;
+  /* 1 */
+  vertical-align: top;
+}
+
+/* 2 */
+/* ==========================================================================
+ * * Tables
+ * * ========================================================================== */
+/**
+ * * Remove most spacing between table cells. */
+table {
+  border-collapse: collapse;
+  border-spacing: 0;
+}
+
+/* *
+ * *Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name> */
+.hljs {
+  display: inline-block;
+  padding: 0.5em;
+  background: white;
+  color: black;
+}
+
+.hljs-comment, .hljs-annotation, .hljs-template_comment, .diff .hljs-header, .hljs-chunk, .apache .hljs-cbracket {
+  color: #008000;
+}
+
+.hljs-keyword, .hljs-id, .hljs-built_in, .css .smalltalk .hljs-class, .hljs-winutils, .bash .hljs-variable, .tex .hljs-command, .hljs-request, .hljs-status, .nginx .hljs-title {
+  color: #00f;
+}
+
+.xml .hljs-tag {
+  color: #00f;
+}
+.xml .hljs-tag .hljs-value {
+  color: #00f;
+}
+
+.hljs-string, .hljs-title, .hljs-parent, .hljs-tag .hljs-value, .hljs-rules .hljs-value {
+  color: #a31515;
+}
+
+.ruby .hljs-symbol {
+  color: #a31515;
+}
+.ruby .hljs-symbol .hljs-string {
+  color: #a31515;
+}
+
+.hljs-template_tag, .django .hljs-variable, .hljs-addition, .hljs-flow, .hljs-stream, .apache .hljs-tag, .hljs-date, .tex .hljs-formula, .coffeescript .hljs-attribute {
+  color: #a31515;
+}
+
+.ruby .hljs-string, .hljs-decorator, .hljs-filter .hljs-argument, .hljs-localvars, .hljs-array, .hljs-attr_selector, .hljs-pseudo, .hljs-pi, .hljs-doctype, .hljs-deletion, .hljs-envvar, .hljs-shebang, .hljs-preprocessor, .hljs-pragma, .userType, .apache .hljs-sqbracket, .nginx .hljs-built_in, .tex .hljs-special, .hljs-prompt {
+  color: #2b91af;
+}
+
+.hljs-phpdoc, .hljs-javadoc, .hljs-xmlDocTag {
+  color: #808080;
+}
+
+.vhdl .hljs-typename {
+  font-weight: bold;
+}
+.vhdl .hljs-string {
+  color: #666666;
+}
+.vhdl .hljs-literal {
+  color: #a31515;
+}
+.vhdl .hljs-attribute {
+  color: #00b0e8;
+}
+
+.xml .hljs-attribute {
+  color: #f00;
+}
+
+ul.tsd-descriptions > li > :first-child, .tsd-panel > :first-child, .col > :first-child, .col-11 > :first-child, .col-10 > :first-child, .col-9 > :first-child, .col-8 > :first-child, .col-7 > :first-child, .col-6 > :first-child, .col-5 > :first-child, .col-4 > :first-child, .col-3 > :first-child, .col-2 > :first-child, .col-1 > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child,
+.col > :first-child > :first-child,
+.col-11 > :first-child > :first-child,
+.col-10 > :first-child > :first-child,
+.col-9 > :first-child > :first-child,
+.col-8 > :first-child > :first-child,
+.col-7 > :first-child > :first-child,
+.col-6 > :first-child > :first-child,
+.col-5 > :first-child > :first-child,
+.col-4 > :first-child > :first-child,
+.col-3 > :first-child > :first-child,
+.col-2 > :first-child > :first-child,
+.col-1 > :first-child > :first-child,
+ul.tsd-descriptions > li > :first-child > :first-child > :first-child,
+.tsd-panel > :first-child > :first-child > :first-child,
+.col > :first-child > :first-child > :first-child,
+.col-11 > :first-child > :first-child > :first-child,
+.col-10 > :first-child > :first-child > :first-child,
+.col-9 > :first-child > :first-child > :first-child,
+.col-8 > :first-child > :first-child > :first-child,
+.col-7 > :first-child > :first-child > :first-child,
+.col-6 > :first-child > :first-child > :first-child,
+.col-5 > :first-child > :first-child > :first-child,
+.col-4 > :first-child > :first-child > :first-child,
+.col-3 > :first-child > :first-child > :first-child,
+.col-2 > :first-child > :first-child > :first-child,
+.col-1 > :first-child > :first-child > :first-child {
+  margin-top: 0;
+}
+ul.tsd-descriptions > li > :last-child, .tsd-panel > :last-child, .col > :last-child, .col-11 > :last-child, .col-10 > :last-child, .col-9 > :last-child, .col-8 > :last-child, .col-7 > :last-child, .col-6 > :last-child, .col-5 > :last-child, .col-4 > :last-child, .col-3 > :last-child, .col-2 > :last-child, .col-1 > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child,
+.col > :last-child > :last-child,
+.col-11 > :last-child > :last-child,
+.col-10 > :last-child > :last-child,
+.col-9 > :last-child > :last-child,
+.col-8 > :last-child > :last-child,
+.col-7 > :last-child > :last-child,
+.col-6 > :last-child > :last-child,
+.col-5 > :last-child > :last-child,
+.col-4 > :last-child > :last-child,
+.col-3 > :last-child > :last-child,
+.col-2 > :last-child > :last-child,
+.col-1 > :last-child > :last-child,
+ul.tsd-descriptions > li > :last-child > :last-child > :last-child,
+.tsd-panel > :last-child > :last-child > :last-child,
+.col > :last-child > :last-child > :last-child,
+.col-11 > :last-child > :last-child > :last-child,
+.col-10 > :last-child > :last-child > :last-child,
+.col-9 > :last-child > :last-child > :last-child,
+.col-8 > :last-child > :last-child > :last-child,
+.col-7 > :last-child > :last-child > :last-child,
+.col-6 > :last-child > :last-child > :last-child,
+.col-5 > :last-child > :last-child > :last-child,
+.col-4 > :last-child > :last-child > :last-child,
+.col-3 > :last-child > :last-child > :last-child,
+.col-2 > :last-child > :last-child > :last-child,
+.col-1 > :last-child > :last-child > :last-child {
+  margin-bottom: 0;
+}
+
+.container {
+  max-width: 1200px;
+  margin: 0 auto;
+  padding: 0 40px;
+}
+@media (max-width: 640px) {
+  .container {
+    padding: 0 20px;
+  }
+}
+
+.container-main {
+  padding-bottom: 200px;
+}
+
+.row {
+  display: -ms-flexbox;
+  display: flex;
+  position: relative;
+  margin: 0 -10px;
+}
+.row:after {
+  visibility: hidden;
+  display: block;
+  content: "";
+  clear: both;
+  height: 0;
+}
+
+.col, .col-11, .col-10, .col-9, .col-8, .col-7, .col-6, .col-5, .col-4, .col-3, .col-2, .col-1 {
+  box-sizing: border-box;
+  float: left;
+  padding: 0 10px;
+}
+
+.col-1 {
+  width: 8.3333333333%;
+}
+
+.offset-1 {
+  margin-left: 8.3333333333%;
+}
+
+.col-2 {
+  width: 16.6666666667%;
+}
+
+.offset-2 {
+  margin-left: 16.6666666667%;
+}
+
+.col-3 {
+  width: 25%;
+}
+
+.offset-3 {
+  margin-left: 25%;
+}
+
+.col-4 {
+  width: 33.3333333333%;
+}
+
+.offset-4 {
+  margin-left: 33.3333333333%;
+}
+
+.col-5 {
+  width: 41.6666666667%;
+}
+
+.offset-5 {
+  margin-left: 41.6666666667%;
+}
+
+.col-6 {
+  width: 50%;
+}
+
+.offset-6 {
+  margin-left: 50%;
+}
+
+.col-7 {
+  width: 58.3333333333%;
+}
+
+.offset-7 {
+  margin-left: 58.3333333333%;
+}
+
+.col-8 {
+  width: 66.6666666667%;
+}
+
+.offset-8 {
+  margin-left: 66.6666666667%;
+}
+
+.col-9 {
+  width: 75%;
+}
+
+.offset-9 {
+  margin-left: 75%;
+}
+
+.col-10 {
+  width: 83.3333333333%;
+}
+
+.offset-10 {
+  margin-left: 83.3333333333%;
+}
+
+.col-11 {
+  width: 91.6666666667%;
+}
+
+.offset-11 {
+  margin-left: 91.6666666667%;
+}
+
+.tsd-kind-icon {
+  display: block;
+  position: relative;
+  padding-left: 20px;
+  text-indent: -20px;
+}
+.tsd-kind-icon:before {
+  content: "";
+  display: inline-block;
+  vertical-align: middle;
+  width: 17px;
+  height: 17px;
+  margin: 0 3px 2px 0;
+  background-image: url(data:image/png;base64,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);
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-kind-icon:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdwAAAGYCAYAAADoalOPAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAG2CSURBVHja7L0PjBVHniYYVUbVx5hTrdAxwioL/2l8zHnbNn1YWG3BFsKLhUULut2M7Gaut+xtyy1atmzZwoKljmqQWVAjIyOsRo3MtBlraHPntQXXFqX2GlFDyT4j1zVtz7iXW8t/aim5tNhoasduduuafRc/8pdUVFb+iciMyIj33vdJofcqX2bEV19G5pcRGRG/jkajIQAAAACg1bDt8I3BcNnR96noxCkBAAAAAPeYBQmAPKz9tb+yj/8QeoSuBwCE2tKkFmVoQAsXAAAAAHy0cA90uC90o8Zr41B4HD582DmPvr6+IFpWzdSCgh5h1lPcP6Zj5KB7IksebTQNDw3cJNMDMq2SqVumxbz9rEwTMr0p01GZPnH87zjhgS5lAAAAwDeWyfSsTL1Zfs6fK2XaJdOwTP0yDVko97JM79TBo0yX8lx6uJPpmEzvyfQnTu/xto28j2uAh38e9OT3ED8NQg/oAR7gYYoumfbLdJpN7iJ1UMi0TqY7uVE4i7+v498usjGe4mO7KpTbw2ZbCw8Tw50t02aZPpbpFzKtZbe/htMS3vYL3mczH2Mb4OGfBx3/lEy/4y6VT6AH9AAP8Chh8r+V6TGZLsm0W6abZfqpTMdlGuHW52X+fpx/u5n3vcTH/tbwYSAud1xE3cK18dA13Pns4rv4KV7nSX8XHzPfYuUAD/884jKp2+VB7kqBHtADPMDD1OhPcGuSjG+FTFtE9H60CBO87wo+tpfzmm1QLrVOd9bNQ8dwqcn9rkxLS4i6lI/tsVA5wMM/j3lKmU/KdAZ6QA/wAI8SeJ7zGZPpLr52THGGjx3jvJ7XLJcGQD3ug0eR4VKf9GsyLagg7ALOo6tCHuDhnwftd4yPo26Vg9ADeoAHeJQ4lrqpH5VpUqb7ZRqtwGOU85jkPJdolLuPzbF2HkWG+1TJJ6C0J6KnKhwPHv550DuK7/D3Z6AH9AAP8CjJ4+f8ubdkizKthbk3kXdWufQedo8vHnmGS/31m4Q9bBJ67wnAIzwe9PtW/k7z0E5CD+gBHuBRggd159KUmgnF+GxgD+e5UkzNmU0rd1CmC7545BnuGmF3GDjltaHEceDhn8d6pcxXoQf0AA/wKMljPX++IaKBS7ZAeR1JlJFW7qBPHnmG+4Cwj9UljgEP/zzU39+BHtADPMCjJI/4NcxRBzwGE2WklTvik0ee4S5yQGRJiWPAwz+P25Tv56AH9AAP8CjJY1HiurGJkZz/Md72kU8eeYY73wGReSWOAQ//PNQyL0AP6AEe4FGSR7zvuAMeF3L4xNsmfPKoO1rQpAgD4AEe4AEe4NFaPLpC55FnuC6cf6zEMeDhn8d4TU+o0AP1FDxam4fLHqGeRBlp5Xb75JFnuC76ts/VdAx42M3zA+X7IugBPcADPErm6XLMQ961GG9b6JNHXng+mu6w1jKRwRLH2OBBT2BPiyiU0tWnsayYmRlxLp3xyIplmhF/1Md5od/jIe408u5kO9SPnJi7rvRI5ZHFJyNebzvX01a/fwStR1bM3UScXBrVv5Kvn+OW9VitlJFEXO5i/u6FR14Ll0hMWCRBeR0pcVxVHvSUcbuIhn+PVcinVXiUOS90kcZz1dajfjjRA/UU94920COet06m321RD8prQ6KMtHLX+OTRWXBCd1sksrvkia7Ko1+5OVLf+isynZepwek8b+tpEx5lzgv9vpO/0xNib5vXDxd6oJ7i/tEOetDKbENsTJst6rGZ8xziMrLKXSWicRdeeBSNUqZ1IUcskKA89lU4vgqPN/mT+tXfF9HEb7Uy9PA2+u3WNuBR9ry8IKbWG30O9cO6HqinuH+0ix5P8yetw7zEgh6UxxOJvLPK7RJT6z/XzqPIcGm497qKXSljnMelCnlU4RE/BVK80rmcFz2lXc+pn7fN5X1anUfZ8xKXOSqmR9lo1/phWw/UU9w/2kUPNbrWMVEtzF8P5zGb8xwpeFA5yAbb44NHp+YJvluUjxN4d8UKZoOH4K4EwgB3B45x2snb1H1anUfZ80JTCuKYkWocyXatH7b1QD3F/aNd9FDjR78tysflfZvzOMN5FoH2oa7e/T546C58QU/xK/jpRee9wQTvu0JUizFog0eM+MX4oZT94m1z2oBH1fMyzsfvENG7mt42rx+29EA9xf2jnfSgFvp9InrXSbF1T3GLWGcAUzfve4qPHeK8dFr9cbnUAt9aNw+TlaYu8dPLzTI9LqIoC+pL4bO87XHeZ2fFbg9bPJK4oLmtVXnYOC90PA28uFNE89oWtHn9sKEH6inuH+2mBw2+upcNejYb4Mfc+qTRxGp4u8W8bT/vs5WPOcR5mET8icu9SUTvm2vjMavECaIMX+DkE2V5NMDDapmHUD+c6IF6ivtHO+hB73sfkellmXaJaF77Y5zyQHNct3Crskq5vZyG6uAxw3A3NkQQsMUja3K6LjIm9Rsja9EAXWQsctC2sKVHzuIWTYVQ6inuH9ORWPTBG2zxyFrcwgLIsOidMo1+prnt9P63W2ldUkuburRplDTNbz1nsdzaeMwS7Yt7+PMt8ABQP1BPoUcQepCB7RRT89x9wQmPdjbcLvBAy7rMeXGhSU5LG/UU94+m12NH36dQqM0Ml4asq/OsTmTs0y48ANQP1FPoAT1guE5AL8R/JbLDMY3zPu3CA0D9QD2FHi2tR2gt63YyXIqscR14AKgfqKfQoz302Hb4xmC4kPl3NBoNVB0AAACg5RCa4TZ9C7fqsP2q0weqTqOwNZ3DFXxOmwlxwBb0AIDmML4QB2p1Vs1AGt4ySgH8L8s4gQcAAAAQHEq3cNlkaR3JXv6bJgz3yxbjsAeDu8pDRBOXaW3QluJRR8uqmVpQ0GM6qva06ECnN+ZAh/v/VadXKhQeDheKuAqdRS1C4aGBeLnFvAUnjsr0ieN/xwkP4xYut2hPya+nFXMR/P00/VZHi7eIh4gWlK6jpbmMy/LNAwAAoFkR30dpfWJaWnGliMJeXsNpCW/bxfsk77dVyv1OXTy0DTfH4JJwarymPFwZnmxRLJPJOw8FFP1io4hiMr4n0584vcfbNvI+NkFPfg/x06BPHtAjTD3AAzyKQAtm7Ffuo7Sm8wERxeulYCCzON3J2w7wPrEx7hflFiGJy6W5xO/UxaPQcA0MzqnxVuVhy/AMjLYu46VIFZv5aesXMq1NeSJby799zPvOtlAmBXH+HXepfOKJB/QIUw/wAA9dk/+tiAIExBG3KCLRT2U6LqIg7pc5jfC2n/I+u/mYxziPuSXKpbnCR+vk0enA4Kwar20eZQ2vgtG6NN75nM8uoR+/cRcfM79imfS++kERvav2wQN6hKkHeICHrtGf4PthHFOaou7oxuXdwseMcx4nNB8E4nKpdbqzbh6dDg2ukvG65qFreBaNNpUH5U1llDieukLelWlpxu87co5dysf2GJY5TynzSZnOeOIBPcLUAzzAQxfPcz60/ONdfO2kYVtOHmf42DHO63nNcmkA1OM+eMww3L94SJyes8CqsUzDRTHa+3+Ll04X7RcKj4ULF56+9tprnfH48ssve4eHh08bHkbvCl4TUaDzLAwUXDQLOI8ugzKP8XHUrXLQEw/oEaYe4AEeuqBu6kdFFJP2fplGc/bdXmB2o5zHJOe5RKPcfWyOtfOYYbj/441C/C//+orhiTkLrBqckAYn3hF/Lb4UnxbuHwqPOXPmiFtuuYWMV0jjtWm0QhqtOH36tPjiiy9MD38q58nU5KJZynnpgN5RxKP5nvHIA3qEqQd4gIcufs6fe3NalCZmd4bzUvPOKpfew+7xxaPTteGZGlyoPGwZb0WjJdB7lE0G+xddNJtE8fsb+n0rf6d5aCc98YAeYeoBHuChC+rOpWk1E4rx6aDI7PZwnivF1JzZtHJpDegLvngUjlIua3hVDS5UHmWN14LRxlgjzIfn5100lNeGguPXK2W+6pEH9AhTD/AAD12s5883RDRwyQR5Zkd5HUmUkVbuoE8e2vNwdQ3PtsGFykPXeC0abYwHEn93ZCSTi2Z1QZnq7+945AE9wtQDPMBDF/FrmKOJ7Y2MZGJ2g4ky0sod8cnDeGnH2PD+SXrY+ZNCfDU6ZXD/rzjpxNxC5hEb71dffSU+//xz8fXXX1812j/84Q+2TFbFogrHDvBnsqIsKTjuNuX7OY88oEeYeoAHeJiWf64Cj+38mXwAGMn5H+NtH/nkUXotZdXwXnrppdoMLlQeqvESDwdGG2N+yhNZVcwzKPOCRx7QI0w9wAM8TPcdT2lpV8WFHD7xtgmfPCpHCyLD82VyIfIg43Votq4wCR7gAR7g0eQ8ukLn0fTxcNsQ9ESWHBVIA3deM8zniPJ9zKDMeby/Dx7QI0w9wAM8TFp/PdzSTq7mRK9qvmXIQ40b1pNoYaaV283fvfCo3MIFakfaOwcaDXe/5TxVfKB8X+SRB/QIUw/wAA/TfRdlXFd/X4FH3rUYb1vok0e7tHDpCexpmYbXiJ9NexpLi5u5seGex/e+971pPNLimWbEH6Wn0bUZF41IeVI9osFrUOP3OH8aeXfSEw9XetC5oHWQh9Wn9ZyYu670SOWRxScjXq8zHlkxdwOqp7XqkRVzN+P+0fJ6ZMXcTcTJpVH9K7m84zkPs9/KaUFmYbVSRhJxuYv5uxce7dDCpaeM26XRHk2arQ8e0miPJs3WEMdF9sLaZZ5UJzQubrpILyYuTB88XOhx5byIaHrAmMFNy7YeZXiEokco9RR6hK9HPG+dTL87pwfJtIVJeW1IlJFW7hqfPNrBcPul0cY3R+pbf0Wm82JqftV53tbjmoc0Whs86GLZnfO76cW7WxRHxqDfd/J3ekLs9cTDhR79innqnhcXepThEYoeodRT6BG+HrQy2xAb0+acckzNbjPnOcRlZJW7SkTjLrzwaAfDfZM/qV/9fRFN/FYrQw9vo99ubRIetF7niIWLl/LYp8n/BTG13uhzHnnY1qPsebGtRyj1o9nrKfQIX4+n+ZPWYV5iwewojycSeWeV2yWm1n+unUea4a4QUd+8KwxzGUWwwkO2buOnQIpXSsuQTfJT2vWc+nnbXN7HCQ/Zuq3KQwXtt66gS6fo4h3jPC5p/gtxmaNiepSNunnY1qPsebGtRyj1o9nrKfQIXw81utaxgt6BIrPr4Txmc54jBQ8qB9lge3zwmGG4dw6IIZmWOzDeK0b7m8bPlss0VLSzAx6r+HOAuwPHOO0UUyuorEoedMcddwzJ5J1HxoV3t8iPcrE+Y/sZPtb0HQxNKYhjRqpxJOvmYVuPsufFth6h1I9mr6fQI3w91PjRb4v86EUfZGxfysf2cF5PavzftA919e73waOzBsMzMlqHPOIX44dSfou3zck62KLxVuKRwCjz6Rd673MmeN8VIj/2Y5Hp0vG0nBm9q+n1xMOWHlXPiy09QqkfrVJPoUfYelAL/T4RveukVfFPcYtYJ/JQN+97io8d4rx0Wv1xudQC31o3j8J3uBUMr5LROjTeC5rbXBtvJR6JCkRPlTfL9LiIol+oL+vP8rbHeZ+dFbuj4jJp4MWdIprXtsATDxt62DgvNvQIpX60Uj2FHmHrQYOv7mWDns0G+DG3Pmk0sRrebjFv28/7bOVjDnEeJhF/4nJvEtH75tp4aM/DJcOTH8vf237lCZ5cfVmO0fbbMFkbPFK2W5llS8ZLPH7/+9975ZGoRC9wqgsXU55wffCwqUcjED0aLaBHKPUUeoSrB73vfUSml2XaJaJ57Y9xygPNcd3Crcoq5fZyGqqDh/HCFzmG59RoTXlUOBGmuMKDT5ozHhmLHLQtbOmx9tetoUfG4hPGyFrcQhcOF43xwuNAxaXsE4s+eIMtHlmLW1i6j9I7ZRr9TO+O6f1vt9K6pJY2dWnTKGma33rOYrm18Si90lTC8ERdRltgeMLA4O7hz7dajAdgB6GcF/BA/WgnPcjAdoqpee6+4IRH5aUdyXh/M/CzEE64qeF3tTiPoFqSTYiuOjXJaWkHHwEF9QMo0mNH36dQSLTAWsp3Dkx9TzN+pUuIhqyr86xOpGRnPNz+jjvumLHt9ddfn7FN6apzwgOojFDOC3igfkAPGG7Tg16I/0rMDMAcY5z3aRceAOoH6in0aGk9QmtZt5PhUmSN68ADQP1APYUe7aHHtsM3BsOFzL+j0Wig6gAAAAAth9AMt+lbuFWndVQdAFN1GoWt6Ryh6uvz3EAPAGhf4wtxoFblaEHyBrSMUgD/yzIhwAMAAAAIE6VbuGyytNBDL/9N02H65VP4cM3/wzQeIpqWQwtOtBSPOlpWzdSCgh7TUbWnRQc6vTEHOtz/rzqLWoTCw+FCEVehs6hFKDw0EC+3mLfgxFGZPnH87zjhYWy4SaNVQH+frst4i3jUaLyh8AAAAGhWZN1Hr/o5f64U0dKLtlbyo3Ivi2iJRuc8tA03x+BEncZrysOV4ckWRRA8FMzlJ7LVIpofpz6R0Xy4QX4iu2ixTHry+z7/b5945AE9wtQDPMCjCLRgxnNias3ii1zOIJcbB1JYzLxWM0+6/54S0drPFOx9smS5w1xeLTwKDdfA4Jwab1UetgzPwGjrMl6KVPGETJtFekipJZzW8hMZRbXZJ6pFHqEyN3LlfJjNxQcP6BGmHuABHrom/xrfGy9xvpR/WqjAEU7HRRQsYDPzpmvuNpnuN3gYiMuNu4Vr4zHLgcFZNV7bPMoaXgWjdWm8NOn8mMgPmpxsge3iVtg6EU1OL1smVa4VIgq47IMH9AhTD/AAD12jP8Flj3N+ZzSPnWCze53593JeKzQeBOJyqdW6s24enWkGJ9MpNoVeYQ+x8Z7SGdXsmgd3AxTyIKOVyRkPypvN3BTUrfFuzsXyWs6xS/nYHsMy5yllPskV0wcP6BGmHuABHrp4nvMh47srx+S+lZPHGT52jPN6XrNc6hZ+3AePGYZ7z83i9Lw/s2os03Dpi9He//R3L50u2i8UHgsXLjx97bXXOuPx5Zdf9g4PD582PKyLL4gFOfu8WnDRLODfuwzKPMbHUZfKQU88oEeYeoAHeOiCuqgfFdH7TuqCHc3Z97YCsxvlPCY5zyUa5e5jc6ydxwzD/fNrhfiX37xieEIank2DE9LgxOjQX4s/Xvi0cP9QeMyZM0fccsstZLxCGq9NoxXSaMXp06fFF198YXr4U5rdQEUXzVLOSwf0juI7/P0ZjzygR5h6gAd46OLn/LlX6HXfFpndGc5LzTurXBqRvMcXj07XhmdqcKHysGW8FY2WQO9RNhnsX3TRbBLpgyWSZW7l7zRa76QnHtAjTD3AAzx0Qd25NKVmQjE+HRSZ3R7Oc6WYGmGdVi6NOr7gi0fhSlNlDa+qwYXKo6zxWjDaGGtENKpOWLpoKK8NBcevV8p81SMP6BGmHuABHrpYz59vCPMpRnlmR3kdSZSRVu6gTx7a83Bjw/vPXwvx/rh8RPhjtsF98eFJK+YWMo/YeL/66ivx+eefi6+//jrTaP/whz9UNVkVDyT+3mBw0RDuT/mN5pQdyDl2tfL9HY88oEeYeoAHeOjyiF/DHE1s113X7Tb+/PuU38hMNyplpJU74pOH8UpTWYbn2uBC5ZFlvA6MNsaiCsdmXTRLNCsX4ZxHHtAjTD3AAzxMyz9XgUeW2Y3k/I/xto988ii9lrJqeC+99FJtBhcqD9V4iYcDo42RDPh8xEKe8wzKvOCRB/QIUw/wAA/TfZNzeG2sjn4hh0+8bcInj8rRgsjwfJlciDzIeB2arStMggd4gAd4NDmPrtB5dAqg2ZC2usuATB2GScWYQZnzPPKAHmHqAR7gYdr6m5/y23aZGoZJRU+ijLRyu33ygOE2H85lVJBtlvNU8YHyfZFHHtAjTD3AAzxM912UYfw7KvDIuxbjbQt98pgl2gP0BEaRHIYX/eBn057G0uKqOoyDepXH9773vWk80uKZZsQfpYELazMuGpFSUXSCVA5q/B4PcaeRdyc98XClB52LB0W0rvVYXt1wrEcqjyw+GfXUGY+smLsB1dNa9ciKuZsRJ7fl9ciKuZuIk0uj+lfy9XM8w+xEygOATkDf1UoZScTlLubvXni0QwuXnjJul0Z7NGm2PnhIoz2aNFtDUOWYyPitzJMq5XVE4yKN56qt98jDhR5XzouIpgeMGdy0bOtRhkcoeoRST6FH+HrEI53J9LMWzCjTwqS8NiTKSCt3jU8e7WC4/dJo45sj9a2/ItN5MdX3fp639bjmIY3WBg+6WHbn/G568e7OuQDVMnfyd3pC7PXEw4Ue/Yp56p4XF3qU4RGKHqHUU+gRvh60MtsQG9PmnHJMzS4OLzgkpmLXppW7SkTjLrzwaAfDfZM/qV/9fRFN/FYrQw9vo99ubRIetF7niIWLl/LYp8mfAizH640+55GHbT3KnhfbeoRSP5q9nkKP8PV4mj9pHeYlFsyO8ngikXdWuV1iav3n2nmkGe4KYS84ehqGuYwiWOEhW7fxUyDFsqVlyCb5Ke16Tv28bS7v44SHbN1W5aGC9ltX0KVTdPGOcR66gaTjMkfF9CgbdfOwrUfZ82Jbj1DqR7PXU+gRvh5qdK1jBb0DRWbXw3nM5jxHCh5UDrLB9vjgMcNwf/gtMSTTcgfGe8Voz736s+UyDRXt7IDHKkW4nVzZ4iDEA4l9ruKOO+4Yksk7j4wL726RH+Vie8b2M3ys6TsYmlIQx4xU40jWzcO2HmXPi209QqkfzV5PoUf4eqjxo98W+dGLBjK2L+VjezivJzX+b9qHunr3++DRWYPhGRmtQx7xi/FDKb/F2+ZkHWzReCvxSGCU+fQLvfc5E7zvCpEf+7HIdFfw0x69q+n1xMOWHlXPiy09QqkfrVJPoUfYelAL/T4Rveuk2LqnuEWsE3mom/c9xccOcV46rf64XGqBb62bR+E73AqGV8loHRrvBc1tro23Eo9EBaKnyptlelxE0S/Ul/VnedvjvM/Oit1RcZk08OJOEc1rW+CJhw09bJwXG3qEUj9aqZ5Cj7D1oMFX97JBz2YD/JhbnzSaWA1vt5i37ed9tvIxhzgPk4g/cbk3ieh9c208tOfhkuHJj+W//vsrT/Dk6styjLbfhsna4JGyvWGDBxkv8fj973/vlUeiEr3AqS5cTHnC9cHDph6NQPRotIAeodRT6BGuHvS+9xGZXpZpl4jmtT/GKQ80x3ULtyqrlNvLaagOHsYLX+QYnlOjNeVR4USY4goPPmnOeDhcjKMpYUuPtb9uDT0yFp8wRtbiFrrY2AhDD1s8DnRUOz6x6IM32OKRtbiFpfsovVOm0c80t53e/3YrrUtqaVOXNo2Spvmt5yyWWxuP0itNJQxP1GW0BYYnDAzuHv58q8V4AHYQynkBD9SPdtKDDGynmJrn7gtOeFRe2vHKu9VXfxbCCTc1/K4W5xFUS7IJ0VWnJjkt7eAjoKB+AEV67Oj7FAqJFlhLWRr+1PcU41duZDRkXZ1ndSIlO+Ph9nfccceMba+//vqMbUpXnRMeQGWEcl7AA/UDesBwmx70QvxXIj0cE2Gc92kXHgDqB+op9GhpPUJrWbeT4VJkjevAA0D9QD2FHu2hx7bDNwbDhcy/o9FooOoAAAAALYfQDLfpW7hVp3VUHQBTdRqFrekcoerr89xADwBoX+MLcaBW5WhB8ga0jFIA/8syIcADAAAACBOlW7hssrTQQy//TdNh+uVT+HDN/8M0HiKalkMLTrQUjzpaVs3UgoIe01G1p0UHOr0xBzrc/686i1qEwsPhQhFXobOoRSg8NBAvt5i34MRRmT5x/O844WFsuEmjVUB/n67LeIt41Gi8ofAAAABoVmTdR6/6OX+uFNHSi7ZW8qNyL4toiUbnPLQNN8fgRJ3Ga8rDleHJFkUQPBTM5Sey1SKaH6c+kdF8uEF+IrtosUx68vs+/2+feOQBPcLUAzzAowi0YMZzYmrN4otcziCXGwdSWMy8VjNPuv+eEtHazxTsfbJkucNcXi08Cg3XwOCcGm9VHrYMz8Bo6zJeilTxhEybRXpIqSWc1vITGUW12SeqRR6hMjdy5XyYzcUHD+gRph7gAR66Jv8a3xsvcb6Uf1qowBFOx0UULGAz86Zr7jaZ7jd4GIjLjbuFa+Mxy4HBWTVe2zzKGl4Fo3VpvDTp/JjID5qcbIHt4lbYOhFNTi9bJlWuFSIKuOyDB/QIUw/wAA9doz/BZY9zfmc0j51gs3ud+fdyXis0HgTicqnVurNuHp1pBifTKTaFXmEPsfGe0hnV7JoHdwMU8iCjlckZD8qbzdwU1K3xbs7FsiPn2KV8bI9hmfOUMp/kiumDB/QIUw/wAA9dPM/5kPHdlWNy23LyOMPHjnFez2uWS93Cj/vgMcNw77lZnJ73Z1aNZRoufTHa+5/+7qXTRfuFwmPhwoWnr732Wmc8vvzyy97h4eHThod1cRfIgpx9BgoumgWcR5dBmcf4OOpSOeiJB/QIUw/wAA9dUBf1oyJ630ldsKM5+24vMLtRzmOS81yiUe4+Nsfaecww3D+/Voh/+c0rhiek4dk0OCENTowO/bX444VPC/cPhcecOXPELbfcQsYrpPHaNFohjVacPn1afPHFF6aHP6XZDVR00SzlvHRA7yi+w9+f8cgDeoSpB3iAhy5+zp97hV73bZHZneG81LyzyqURyXt88eh0bXimBhcqD1vGW9FoCfQeZZPB/kUXzSaRPlgiWeZW/k6j9U564gE9wtQDPMBDF9SdS1NqJhTj00GR2e3hPFeKqRHWaeXSqOMLvngUrjRV1vCqGlyoPMoarwWjjbFGRKPqhKWLhvLaUHD8eqXMVz3ygB5h6gEe4KGL9fz5hjCfYpRndpTXkUQZaeUO+uShvbSjruHZNrhQeegar0WjjfFA4u+OjGRy0awuKFP9/R2PPKBHmHqAB3joIn4NczSxvZGRTMxuMFFGWrkjPnkYrzQVG95//lqI98dl2/yPUwb3xYcnnZhbyDxi4/3qq6/E559/Lr7++uurRvuHP/zBlsmqWFTh2AH+TFaUJQXH3aZ8P+eRB/QIUw/wAA/T8s9V4LGdP5MPACM5/2O87SOfPEqvpawa3ksvvVSbwYXKQzVe4uHAaGPMT3kiq4p5BmVe8MgDeoSpB3iAh+m+4ykt7aq4kMMn3jbhk0flaEFkeL5MLkQeZLwOzdYVJsEDPMADPJqcR1foPDoF0GxIW91lQGS/i9F5RzNmUOY8jzygR5h6gAd4mLb+5qf8tl1kv0PVebfakygjrdxunzxguM2HcxkVZJvlPFV8oHxf5JEH9AhTD/AAD9N9F2UY/44KPPKuxXjbQp88Zon2AD2BUSSH4UU/+Nm0p7G0uKoO46Be5fG9731vGo+0eKYZ8UdpGsrajItGpFQUnXc0gxq/x0PcaeTdSU88XOlB5+JBEa1rPZZXNxzrkcoji09GPXXGIyvmbkD1tFY9smLuZsTJbXk9smLuJuLk0qj+lXz9HM8wO5HyAKDzbnW1UkYScbmL+bsXHu3QwqWnjNul0R5Nmq0PHtJojybN1hBUOSYyfivzpEp5HdG4SOO5aus98nChx5XzIqLpAWMGNy3bepThEYoeodRT6BG+HvG8dTL9rAUzyrQwKa8NiTLSyl3jk0ea4e4QM/vrqzSvy8IWj35ptPHNkfrWX5HpvJjqez/P23pc85BGW4WHeqHtzvnd9OLdnXMBqmXu5O/0hNjriYcLPfoV89Q9Ly70KMMjFD1CqafQI3w9aGW2ITamzTnlmJpdHF5wSEzFrk0rd5WIxl144TErpdtsIK3QH96W2ry2goyuO1s83uRP6ld/W8xcZYUqxgN8Ipb/YPLwh4mes1QeixcvdspDpg9z8trLLaslOReN0KgoNF9snyb/F5gfrZ9KgZrv9MTDth5lz4ttPUKpH81eT6FH+HrQa7X3RLQO86tiat5qlgcU3Wfp/3hCyTsLarlbfPBIa+F2ienDmq/8/esPKr9IjkH9/is09rPCQ7Zu46fAZ7lyTPJT2vWc+nnbXN5Hi8fZs2eNeMjWbVUeKmi/dQVdOkVPqmOch24g6bjMUTE9ykbdPGzrUfa82NYjlPrR7PUUeoSvhxpd61hB70DRfbaH85jNeY4UPKgcZIPt8cGjM8VcjikHzlb+rmq6V4z23Ks/Wy7TkIbZ2uaxShFuJ1e2OAjxQGIfLR6mpluBR9aFd7fIj3KxPWP7GT7W9B0MTSmIY0aqcSTr5mFbj7LnxbYeodSPZq+n0CN8PdT40W+L/OhFAxnbl/KxPZzXkxr/95Pc1bvfB4/OFHOhEVbUXzqfM1jM28qanYnRuuQRvxg/lPJbvG2OKY8SpmvKIw+j3FvQL/Te50zwvitEfuzHItNdwf8zvavp9cTDlh5Vz4stPUKpH61ST6FH2HpQC/0+Eb3rpNi6p7hFrBN5qJv3PcXHDnFeOq3+uFxqgW+tm0dnirnQZN17ZPpEROtO3sPbYpOZrWl2pkbrikcSFzS2GfEo2dK9oLlNpwLRU+XNMj0uougX6sv6s7ztcd5nZ8XuqLhMGnhB7y0XcmXzwcOGHjbOiw09QqkfrVRPoUfYetDgq3vZoGezAX7Mrc81Ynp4u8W8bT/vs5WPOcR5mET8icu9SUTvm2vjMSvDXNQX3R/ytrd4n9dkup/MLmMAExltv4HJ5plcZR4p5TRc8CDTzRhIVZaHKehEv8CpLlxMecL1wcOmHo1A9Gi0gB6h1FPoEa4e9L73EZlelmmXiOa1P8YpDzTHdQu3KquU28tpqA4eZLjXJLZdTtnvcsbxA4rBlDXaGFZ5VDgRofCYBoeLcTQlbOmRs7hFUyFj8QljZC1uoYuNjTD0sMXjQMWl7BOLPniDLR5Zi1tYAN0n6Z0yjX6mEdT0/rdbaV1SS5u6tGmUNI0oPmex3Np4zOIuhfu5pUYttlMi6tePW3W38jaauzTI+17p2vjht4T49d9HI44rGK3atVGKB2NFhoBZuIc/3wqUB+AXoZwX8ED9aCc9yMB2iql57r7ghMesDJN5i13+Gv6eZS5kukM/fPVntviU5lGiJdnVBDxapiXZhOiqU5OclnbwEVBQP4AiPXb0fQqFxPS1lFWTIYwrTWiRYS4uYMyDWtpXPlOMX7mR0ZB1dZ7ViZSyx6rwuOOOO658vv766zMyVrrqTHkA9SCU8wIeqB/Qow0MVzUZoZhJ8u864IIHvRD/lUgPxxQb6iOB8gDcI5TzAh6oH9DDEkJrWc/KMLu8v+s0XZs8qAv4urwdfjB5OAgegBeEcl7AA/UDeljCtsM3BsOFzL+j0Wig6gAAAAAth9AMd1a7C1q1y6HqNApb0zlcwee0mRAHbEEPAGgO4wtxoFanBSGXUQrgf1nGCTwAAACA4FC6hcsmS+tI9vLfNB2mXz5VDHswuKs8RDQthxacaCkedbSsmqkFBT2mo2pPiw50emMOdLj/X3UWtQiFh8OFIq5CZ1GLUHhoIF5uMW/BiaMiWmrXJZzwMDbcpNGKqQWt6e/TdRlvEY8ajTcUHgAAAM2K5H10hp/z50oRLb1oayU/KpdWDnynDh7aXcrcdXyKTaSXjYVW4biB007eFhvvKRddzaY8RLQqlHUeskWxTCbvPBRQ9IuNIloHmoIq/4nTe7xto5gZLLoq6MnvIX4a9MkDeoSpB3iARxFowYz9yn2U1nQ+IKJ4vXdyo3AWf1/Hv13ke+kpPrarQrk9bLa18Chs4Wa0JGmB6z2yFauGa+qX++6Rn5tEtOCz1RZvHg8xPWxUP2+bxsNWS5OMNgQeCihSxRMybRbpIaWWcFrLT2QU1WafqDa9aTZfgPR/PczdKj54QI8w9QAP8NA1+df43niJ890t0kMFjnA6LqJgAZuZN11zFL7mfqEfMSguN+4Wro1HZ5mWpDTP/oTZXgFto9+4hbfDRou3iEeGKHH8yBk8yrY0C1q0tfFIYD7ns0vox2/cxcfMr1gmPXQ8yA8QPnhAjzD1AA/w0DX6E3w/jGNKbxH6cXm38DHjnMcJzlO33It8/66VR6cNo80w3oEqxmuDBx8zUMXw8oy2r6/PJHBzKg/Km1vNpqCukHdlWlri2KV8bI/hcfOUMp+U6YwnHtAjTD3AAzx08TznQ8s/3sXXjinO8LFjnNfzmuXSAKjHffBIa+GeVrpLqWvsdgODyzLe20UUvF0ohlcEazwUw7PCg4xWprp5qOjiLpAFKb/9RLO7ZwHn0WVQ5jE+jrpUDnriAT3C1AM8wEMX1EX9qIhi0lIX7GjKPr/UbLGOch6TnOcSjXL3sTnWzqNo0BQN/nhftjS3ytRtqiodQ8dSHjItrFBBKvHgrhBrPGSLdKtMPnk8lfNkSjf+5RmVJ+1J9SnNMukdxXf4+zMeeUCPMPUAD/DQxc/5c29Oi/JRbogs0Gxh7k3knVUujUje44tHnuHGo2zJJOj91Ge6hqcY7Wd8bLeY6oo1RWkeisE54UHGK/TffdjiQcduKtiHWlzfFtF6p0XYpPE/xPwJNA/tpCce0CNMPcADPHRB3bkr+f63R6Ml/DsRhUgtQjxodaWYmjObVi79Txd88cg0XGXwU5rhbUszvAKjjQc5GaGIR8bJzjO4eJCTEfh9bSoP+tfr4iGxRugNz6dBAfeJ6J1xHiivDQX7rFfKfNUjD+gRph7gAR66WM+fbwi9UcWU/wm+xxbxPZIoI63cQZ88OgvMLm3UMZnGdtV4dYy25LtXLR6K4ekYXGke9N5WMV5fPB4w3J/eGX+3oFIVPbmpv7/jkQf0CFMP8AAPXcSvYY4a8qB77G8KHhYGE2WklTvik4fWwhcZo45Vo3FitLZ4VDXaDOP1xWNRiWPoKY4mbJ/N6TLJw23K93MeeUCPMPUAD/AwLf9cydY5LcSxOOP3kZz/Md72kU8eRsELcgzPqdGW5WHbaNOMV8yc7uOaR9n5bzTC+m6ZDqX8Ns+gzAseeUCPMPUAD/DQRbzveEkeNHD1bZl+nPLbhRw+8bYJnzxKBS9gMx3YdvhGGpH1j7z5Bpcmm8VDciDDm8bDpclmIDZe3zx0cDll2yR4gAd4gEcT8bgmZVtX6DwqhedTDbZus00xvLTvrcij7BMZDWun4e2Ppvw2ZlDmPI88oEeYeoAHeOiiao8QTVeiaUsHU37rSZSRVm63Tx6V4+ECtaPMOwcKMUXD2peUzPMD5fsijzygR5h6gAd4mJZf5l0yrX1M05VGMn7PuxbjbQt98igdD7cFcCVA5LbDN6a13GvnkRbPNCP+KE1DWWuQP42c3l6wz6DG7/EQdxp5d9ITD1d60BP60yIKKHH1aT0n5q4rPVJ5ZPHJiNfrjEdWzN2A6mmtemTF3M2Ik9vyemTF3E3EyaVR/Sv5+jluwIPGyAwU7LNaKSOJuNzF/N0LD7Rwmw9UOXS6q2nY+m80LlrK64jGRRpPC1jvkYcLPegplJbaPCr0u8Zc6FGGRyh6hFJPoUf4esTz1sn0dRbMoOvsuxomR3ltSJSRVu4anzzyogV1C8souzykRQrUt/6KTOdlanA6z9tyF+IuuZSjdR58sewu2Iee4t5TKlcedmtcgOqqWJR3ryceLvToV8xT97y40KMMj1D0CKWeQo/w9aCpRUNsTJsLeNC+NB3pDY3/Kw4vOCTSpy/F5VL3+DxfPPJauJ9VWLt4hmkqC2OYwhYP6lenNYwfSFSGHt5Gv92ax6PCGso2eRBoNHTW+wMapk7D1W/S4EJ57NPkTTF/4/VGn/PIw7Yeb5Y8L7b1eDOQ+vFmk9dT6BG+Hk/zJ63DnPVemKYf0TSkTzT+H8rjiUTeWeV2ian1n2vnkWa4K0TUN19m7eI8o40XghjmMopgjQfjWe4mmeSntOs59fO2ubxPIY+KxluWhwrab11Gl86LQi+6xRjnoRtIOi5zVEyPslE3D9t6TJQ8L7b1mAikfkw0eT2FHuHroUbXOpbRGn5E83/s4Txmc54jBQ8qB9lge3zwmGG4O/o+HZJpeYbhbasQvOCK0VLeVEZRHjZ4iOl986v4c4C7A8c47RRT/fKrkhn09fUNybQ8w3iz1lC2ziPjwrtblI/feLcwfwdDUwrimJFqHMm6edjWo+x5sa1HKPWj2esp9AhfDzV+9NuifFzetzmPM5xnEZ7krt79Pnh0GhredmEevMDIaE15iOKgAUnTO5TRbUCYk8Ujw3iTayg755HAKPPRXclqgvddIfTCb2WZLh1Po/XoXU2vJx629Kh6XmzpEUr9aJV6Cj3C1oNajRQcgTyB5vieUjxDpwHzLB+zgPO4T7MlGpc7l+/NtfLoaDQaut3DvZz5MkX8vWJqFBudNDVUE5lSfxmTtcwjHqveSPydxNXfdaYFydatcx7qdIucKSox4qgdq/lJK17n8yw/edIUAhrVmLkIedo0k4Jyqczvi+i9zqgtHnl8HOqhfV4c66HNQ9Una8pOHXqo9fRAh/t6ulHjluWAh7YeKr+sqTI29UhMu0nvS7XPQ1sP4pc2/ZJB3bm/EFNLJMbRdga53Hjg0WLmtZp5zlXM/aciZbUruo9rlEvX6lGXPFQ+2oabY3hJODHasjz4qUOtAEXoMJmHm2K81ngYGm5llDDc2vk45KV9Xhz/29o8DA3XGQ9Dw60MS4brTA9Dw60MS4brTI8Cw41B99FdIj3STxpojusW5b4qDA1XLVco+VjnofIxXviCjXR5iuHVYrS6PHQEsIQrPPhEOeORZz7tCFt6+HygsImMxSeMUdW4NzbC0MMWj6rGrWOGdcAWD4cPEHSfpHfKNPqZ5rbT+9/uREt7glukNL/1nMVya+NReqWphOGJuoy2wPCEgcHdw59vtRgPwA5COS/ggfrRTnqQge0UU/PcfcEJj8pLO3o02qInlSJ0tTiPoFqSTYiuOjXJaWl3ha4H6gdQpEfNy+UGi6ZfS7noRCp9+PTiW51ndSJld+Ph9rpdeUpXnRMeQGWEcl7AA/UDesBwmx40gflXIjsc0zjv0y48ANQP1FPo0dJ6hNaybifDpeHd14EHgPqBego92kMPjVHKtZq/8bQgAAAAAGgGhGa4s9pd0KpdDlWnUdiazuEKoc7DhR4AAONzeW93gU4LQi6jFMD/skxkLz7RjjwAAACAgFC6hcsmSws99PLfNB2GFr4Y9mBwV3mIaFoOLTjRUjx8rTTVzi3vZtLDwUpTM6DTG9PCK02V4tHCK02V4qEBCgtI4f3yFpygpRg/cfzvOOFhbLhJoxVTC1rT36frMt4iHjUabyg8AAAAmhXJ++gMP+fPlSJaetHWSn5U7mURLdHonId2lzJ3HZ9iE+llY6FVOG7gtJO3xcZ7ykVXsykPEUVysM5DtiiWyeSdhwJaRHujiGIyvifTnzi9x9s2iqmFtm2BnvweEtODVfvgAT3C1AM8wKMItGDGfuU+SkEDDogoXu+d3Cicxd/X8W8X+V56io/tqlBuD5ttLTwKW7gZLckXZNojW7FquKZ+ue8eEUXIecx2izePh5geNqqft03jYaulSUYbAg8FFPD4CZk2i/SQUks4reUnst0y7RPVAljP5guQ/q+HuVvFBw/oEaYe4AEeuib/Gt8bL3G+u0V6qMARTsdFFCxgM/Oma+42me4XGhHIEuXG3cK18egs05KU5tmfMNsroG30G7fwdtho8RbxyBAljh85g0fZlmZBi7Y2HgnM53x2Cf34jbv4mPkVy6SHjgf5AcIHD+gRph7gAR66Rn+C74dxTOktQj8u7xY+ZpzzOMF56pZ7ke/ftfLotGG0GcY7UMV4bfDgYwaqGF6e0fb19ZkEbk7lQXlzq9kU1BXyrkxLSxy7lI/tMTxunlLmkzKd8cQDeoSpB3iAhy6e53xo+ce7+NoxxRk+dozzel6zXBoA9bgPHmkt3NNKdyl1jd1uYHBZxnu7TB/x5tjwimCNh2J4VniQ0cpUNw8VXdwFsiDlt59odvcs4Dy6DMo8xsdRl8pBTzygR5h6gAd46IK6qB8VUbB26oIdTdnnl5ot1lHOY5LzXKJR7j42x9p5FA2aosEf78uW5laZuk1VpWPoWMpDpoUVKkglHtwVYo2HbJFulcknj6dynkzpxr88o/KkPak+pVkmvaOIgzI/45EH9AhTD/AAD138nD/35rQoH+WGyALNFubeRN5Z5dKI5D2+eOQZbjzKlkyC3k99pmt4itF+xsd2i6muWFOU5qEYnBMeZLxC/92HLR507KaCfajF9W0RrXdahE0a/0PMn0Dz0E564gE9wtQDPMBDF9Sdu5Lvf3s0WsK/k2m1Rr7xoNWVYmrObFq59D9d8MUj03CVwU9phrctzfAKjDYe5GSEIh4ZJzvP4OJBTkbg97WpPOhfr4uHxBqhNzyfBgXcJ6J3xnmgvDYU7LNeKfNVjzygR5h6gAd46GI9f74h9EYVU/4n+B5bxPdIooy0cgd98ugsMLu0UcdkGttV49Ux2pLvXrV4KIanY3CledB7W8V4ffF4wHB/emf83YJKVfTkpv7+jkce0CNMPcADPHQRv4Y5asiD7rG/KXhYGEyUkVbuiE8eWgtfZIw6Vo3GidHa4lHVaDOM1xePRSWOoac4mrB9NqfLJA+3Kd/PeeQBPcLUAzzAw7T8cyVb57QQx+KM30dy/sd420c+eRgFL8gxPKdGW5aHbaNNM14xc7qPax5l57/RCOu7ZTqU8ts8gzIveOQBPcLUAzzAQxfxvuMledDA1bdl+nHKbxdy+MTbJnzyKBW8gM10YNvhG2lE1j/y5htcmmwWD8mBDG8aD5cmm4HYeH3z0MHllG2T4AEe4AEeTcTjmpRtXaHzqBSeTzXYus02xfDSvrcij7JPZDSsnYa3P5ry25hBmfM88oAeYeoBHuChi6o9QjRdiaYtHUz5rSdRRlq53T55VI6HC9SOMu8cKMQUDWtfUjLPD5TvizzygB5h6gEe4GFafpl3ybT2MU1XGsn4Pe9ajLct9MmjdDzcFsCVAJHbDt+Y1nKvnUdaPNOM+KM0DWWtQf40cnp7wT6DGr/HQ9xp5N1JTzxc6UFP6E+LKKDE1af1nJi7rvRI5ZHFJyNerzMeWTF3A6qnteqRFXM3I05uy+uRFXM3ESeXRvWv5OvnuAEPGiMzULDPaqWMJOJyF/N3LzzQwm0+UOXQ6a6mYeu/0bhoKa8jGhdpPC1gvUceLvSgp1BaavOo0O8a+z8c6FGGRyh6hFJPoUf4esTz1sn0dRbMoOvsuxomR3ltSJSRVu4anzw6Mxy8I63lVxWGyzK64EF966/IdF6mBqfzvK0nj0fW032NPNQL7Z9xyzhrUjo9xb2nVK487Na4ANVVsY575OFCj37FPHXPyz850KMMj1D0CKWeQo/w9TjLZf8zDf60L01HekPj/4rDCw6J9OlLZ/k36h6f54tHx//+0g2lXYO6XqUhNvh7R4HR0tqzV5cBU/e3ZKpxv0UWD+pXf1tkT1imSrT8m2L7hyHwkOnDf9fVp1PedjF99ZNHRBQMWWfB7REu68pi5ckuykQXJo28e0ikDxKwyuPqo/gPU3nY1iO+4LTPiyM9jHj8YPLwhyHo8ceH+lzxyKwfyS7bAx3h1I+lv+yoXY9El21m164PPY5944ay99MXRRTRRyeQAr1bPs2c72R9Yn9K7vcem+6/r4uH6pdpLdwuMX1Yc/JvoxZtygpU1O+/QuNwazwYz3LlmOSntOs59fO2ubxPs/EYSDypvqh50VJ30DqhH0h6UkxFxPHJw7YeEyXPi209JgKpHxNNXk+hR3PqkcQjmv8jtaSPMeeDInsgU/ygspbN1guPWSliHOPv9/Pna/y5joX8H2T6rxpdx9NatGy0tCDGkGblqMxDTC1AIfipRnAF263sQ12DNLdsl7JPs/GI3yts07z4KKrFXwrzdzCtyiOU8wIeqB/trIfpfF6KVvR/stmRNk9qHPN/+eTRmSIGjbCiPvz5nMFi3naM9/mv3ELVDV5wpUUrjXa5odmW5iGmr2WsbiOkrZQSb5vTxDyST6pZT6f9zHe05EXbajxCOS/ggfoBPfQQB445JaL5weQr92m2RL3y6EwhQZN17xHRUl4f8fcLCpnZXMBPOVpPbLZVjbY0j8STWZJHEhc0tjUrD7po/jcx/WU9fX+D30PczE+glypctK3GI5TzAh6oH9Bjqjv7fxbT1yqm7zSIi94vf8z319ls7vcKvYg/3nnQoKk0Eh8k9qPF2t8S0eiuQW6G08nfntINYdJ1HJt1lhiVefBTB6Ghw+WbYvs3QuDx77r6qvAohYxBU11180jyqYlHQ3O/b4TA4weTh4Pg8ceH6q+nGYOmgqgfS3/ZUbseGYOmgtDj2DdusH0/jUFzXLco99UZSAya6vLFQ+VD73CTa0GmrZV5OSOPAYWIsdEmYJWHjgCtyiNjQQThQY8geOTpYTgCuiX0yFio4gpKTH8rzWNjIww98ngYjoCuxCNpnL70yONhOALa5v30LHdp0ypPNL/1XDPy6GQHv58dfR53j96q7HMrb5vxFMQrMq0o0XWchtI8GCs4Ldc0uXs4BclDtmCq8rCFduXhqn6AB+oH9NDn0cHp23xf3SnKLU8ZBI9ZCTKvcZObmtV381NBbpdDRZPNEsWYR4mWZFeL8xC+z4vllnbdenTVqUdOS7urVfUIpZ5CjzD1cLDErvfzMiuDDGFcaUKLGipHaR55J0bpw6eh9OrqJydSdh+rwkOzq845j1DOS5PxCOW8gAfqB/Ro0fvYrAwyQik0+beoURSbPGgC869Edjimcd6nXXiEcl5QP8AD9QN6ONEjZbUpYx42W9qzMk5O3t91VhKbPKir4Lq8Hb6Zvl547Txq0iOU89I09SMUHj+YPBwEjz8+1If6oWDpLzugh4Jj37jBux45ywZr87C1nj8Zd0ej0RAAAAAA0GpwEYSniuE2fTzcEsP2p6Hq1ISqUYTy3vuGgBLTZqzBwaAr6AEAbWJ8Ncc110LleLjS8JZRCuB/WcYJPAAAAIDgULqFyyZLyxb28t80HaZfthiHPRjcVR4impZDC060FI86WlbN1IKCHtNhOV5zKnR6Y6r2OOlAp1cqFB4lFoowhs6CGaHw0MBNMj0gosAHtCRuvKyiuuDEUREtyegSTngYG27SaMXUgtb09+m6jLeIR43GGwoPAACAZkXyPjrDz/lzpYgiEVVdyU8tl1aYeqcOHtpdytx1fIpNpJeNhVbbuIHTTt4WG+8pF13NpjxEtHqIdR6yRbFMJu88FFD8yY0iWi+Ugiz/idN7vG2jyA4WXRb05PcQPw365AE9wtQDPMCjCLRgxn7lPkqL/x8QUZi8O7lROIu/r+PfLvK99BQf21Wh3B4221p4FLZwU1qSgpvRK2QrVg0V1S/3pcC7tGLHQtst3jweYnrIKnramMHDVkuTjDYEHgooUsUTMm0W6VGJlnBay09kFLtyn6g2HH82X4AU8/hh/v998IAeYeoBHuCha/Kv8b3xEue7W0wPAxhjhNNxEQUL2My86ZqjoAP3C72IQWq5cbdwbTw6DVuSZ/hneoJ/X/6+TaZuThSm6H02F8H7Vm7x6vAQ0cLS3WIq/mwmj7ItzYwWbe08EpjP+ezKuFjSWmC7+Jj5Fcukh44H+QHCBw/oEaYe4AEeukZ/gu+H49xg2ZJhcklM8L4r+Nhezmu2QbkXuReyVh6dJl22spV6F2c+zOLTShGfiZQ4uLxv6a5mWzxkuqtKF29e13FfX19lHpQ3t5pNQV0h78q0tMSxS/nYHsPj5illPskPET54QI8w9QAP8NDF85zPGN8bz5TI4wwfO8Z5Pa9ZLg2AetwHj7QW7mmlu5S6xm6XBkddwlccX37SE/x3RbTSiFBadIK3fZf3oX0n6FjKQ0RBfoVieEWozENMvcie4G5cKzyk0fbLFD8B1cVDRRd3gSzI2eevOGVhAefRZVDmMT6OulQOeuIBPcLUAzzAQxfURf2oTJPcBTuas+/fcsrCKOcxyXku0Sh3H5tj7TyKBk1ldR1TC2417zMspt5H0rbPCrqay6AUD5HfxVuah2yRbpOpmxLnWzePpwqeTMnMj3D6qOBJ9SnNMukdxXf4+zMeeUCPMPUAD/DQxc/5c29Bi5LukRs4LSxoYe5N5J1VLo1I3uOLR57hxl2fRV3HyymJ4q7VuCvWFFo8RBR/th140LGbCvY5nvE9DZtE8fub+EGBQPPQTnriAT3C1AM8wEMX1J27ku9/ewr2XZvxPQ17OM+VYmrObFq51Ot4wRePTMPlrmB657hDMZrUrmPeP6trVX332m9aO3R4iOlzoAp5CGHOg7qRQ+AhsUYUD88fUb6fLdh3Lj+55WG9UuarHnlAjzD1AA/w0MV6/nxDFI8qXpIwzDxc5Ba5WkZauYM+eXQWmB29gx1gc1CR1XWsdq3GuEF991oGRTzEzC7bVB5scKV50HtbmXzzeEBjn3PK9w819l9t8Ps7HnlAjzD1AA/w0EX8Guaoxr6LlO+3auw/mCgjrdwRnzy0Vpoiw1OWSqPW2WNiqqv0KaUFJ9hIXoi73KoYrU0eVYw2zXiVpfTq5rEoZdtH3PVzli8Q9SL5QESTtW/lpzPqElmY8wSXhttSLkYfPKBHmHqAB3iYln8u5beFnP9iLu/WxDX3HnM7y3w/ymiZL8op9yOfPPLm4W6llmuK6WV1reZ2HSutYCNU4SHSu2zV92/akAa7lQdJJVErDzFz/hsttHCLTE/L9DKfbHVS+iRve5n3uYWPUTHPoMwLHnlAjzD1AA/w0EW873hiOwWz/48yPSfTj9jE1fmsXbztR7zPf+RjRMq1OC+n3AmfPPJauDS4Z5M0Oxp1tS/Z0pQfA/zbP8ZdpWmtWTZLagGWfcmfy0Nupy7eaTwyWpFWeEjTncGDy6uLRxKzLRwzCR7gAR7g4ZHHJQvHdIXOI89wJ1K6SUWK4akmnIbPEt2rpiZTyCNhbK3OYzxxzC+Yz+vcxXGOuzsuKSf/Nu7eoC6S76d0CY0ZlDmP9/fBA3qEqQd4gIcuqPXXwy1t9R75U26wfJ/LWcRdubMVU/+A+Z1lvsmu3J5ECzOt3G7+7oVHnuHewK2wx9QTxN3CL2QZrNKiVVt08XvMPUoLUBe5PHKMrRYeQtTO45yY+W5goZg+1P9OMfUeIX7nUJRnHj5QylzEF5gPHtAjTD3AAzxMyu9hDsnjPhLTp+hQuUuUa+7Ogrzz3svG5S5kI/TCI9Nw2VApIMEefgLaxj+ldvHmdB3Te8w9sUGbxqks4sFPI/tSDE7lQTfE+2T6B5n+O2/ryOKTFueSV5bqP3z4sBMeafFMM+KP0jSUtRonPG8AQRKDGr/HQ9xp5N1JTzxc6UHnhd5PDatP6zkxd13pkcoji09GvF5nPLJi7gZUT2vVI+telhEnt+X1yIq5m4iTS6P6V/L1UzTH95xidDqmvlopI4m43MX83QuPwvB8ypSctK7VzxJdpeqiDvHx/TZGKlfgQQLdzk8m/70qD2VqkC8ex0XxSOclGd/TQHkd0bhI47lq6z3ycKFHfF6OGnSNudCjDI9Q9AilnkKP8PWI562vFcWv00Yyvmf1JG5IlJFW7hqfPPJGKWeRUBfg707pKo1H5prkKRzy6FdujtSF8IpM52VqcDrP23IX4s4YoVw7D85zd8E+Jiuj7Na4ANVVsegJsdcTDxd6lDkvLvQIpX40cz2FHuHrQe89h/j+uFnj4SDtexri8IJDIn2xjrjcVSIad+GFR14L97O0KTlKQIJ4KkyMq1OCki3axMIYpijFQ0wtLvGm0jVCaxg/kKgMPbyNfsub1PxZxtSgOCBBXTwIewuetOK1PzeK/LU/KY99mueB3jnH640+55GHbT3KnhfbeoRSP5q9nkKP8PV4mj+fKmjJx2s6HxD5azpTHk8k8s4qt0tMDXqtnUea4a4QU2sAP8uGt62oizer61gx2uSaw0XQ4iGmpuSoT2Bpo4UpD1qGbJL3uZ5TP2+by/sU8qDgBR54qKD91hV06VBki1/k/D7GeegOg4/LHBXTo2zUzcO2HmXPi209QqkfzV5PoUf4eqjRtY4V9A5QxKKf5vzew3nM5jxHCh5UDrLB9vjg0ZlipEMZwQi0u4UT+6QFOxgqysMGj0QX7yr+HODW5xinnYpRrkpm0NfXNyRTJg8h6uGRceHdLcrHb7xbmL+DoSkFccxINY5k3Txs61H2vNjWI5T60ez1FHqEr4caP/ptUT4u79ucxxnOswhPclfvfh88Og0ML7eLN6fr2MhoTXlkGJ66lnHS9A6l7B9vm5PFI8V4r/LgsmrhkcAo89Fdmznu/l4h8mM/FpkuHU/d5/SuptcTD1t6VD0vtvQIpX60Sj2FHmHrQS10mrFBnkCxdU8pjTOdBsyzfMwCzuM+zVZ/XO5cvjfXykNnlHJaS3NGF29W13FZozXhIcS0ruYkjyQuaG7TNV4vPBIViJ4qb5bpcRFFv1Bf1p/lbY/zPjsrdkfFZdLAC5qPtpArmw8eNvSwcV5s6BFK/Wilego9wtaDBl/dywY9m++ZH3Prk0YTq5F5FvO2/bzPVj7mEOdx0eB/jsul+OYP1Mmjo9FoGJ0daay9bCLLMnYhE+q3YbI2eIipkHm6/2jHRgNJDh8+7IyHOr8xZ06oNaTN66yjXBM+DnlpnxfH/7Y2D1WfrDmydfBQ6+mBDvf1Quf6dMCj1P0ja26qTSTmuabCAQ9tPYjftsM3Fu1H99FdIj3STxpojusWIbJ9Zkffp7rlCiUf6zxUPrNKVHbKeHmK4dVitLo8dASwhCs8+EQ545FnPu0IW3r4fKCwiYzFJ4xR1bg3NsLQwxaPqsatY4Z1wBYPhw8QdJ+kd8o0+pnmttP7326ldUkt7Xi2B81vPWex3Np4zKpQoVXDE3UZbYHhCQODu4c/32oxHoAdhHJewAP1o530IAPbKabmufuCEx6zqmbg0WiLnlSK0NXiPIJqSTYhuurUJKel3RW6HqgfQJEe1J0KWDBc3yjqOlK6hGjIujrP6kTK7sbD7XW78pSuOic8gMoI5byAB+oH9IDhNj0eEVGg4PkZv4/zPu3CA0D9QD2FHi2tR2gt63YyXIqscZ3tTEsMMnHCAwizfoAH6gf08AeNUcq1mr/xtKAijBzsuDJKd8mjjWGf/1xdPDQMVx21PAO2RpcCAAAAYRuutRYuGxxNi+nlv2nwUH/dxhsKDzbaqzxENJiqP8t4Q0Wo83ChBwDA+IoMLjR0Vs2ADE6mU/LraTEVpmyCv5+m3+LWpmujDYEHG20mD/5tGS5BAACA9kLpFm6yJcmmQiHL9vDfm2R6TDE8Jy3NUHiktGhzeZi2eH2tNNXOLe9m0sPBSlMzoPP6o4VXmirFo4VXmirFQwPxcot5C04clekTx/+OEx7GhptncFJwdXHrfrkvhSmiidALFaOxcuZD4VFgtNN4iChskyseAAAAzYrkfXSGn/PnShEtvWhrJT8q97KIlmh0zkPbcA0Mjvbt5tbcJqEXdUE0Gw/ZotA1WsFlO+GhYC4/ka0W0fw49YmM5sMN8hPZRYtl0v/yfa5sn3jkAT3C1AM8wKMItGDGc3x/FJz/US5vTEwFUljMvFYzz/jVHd1zKdj7ZMlyh7m8WngUGq4Fg4v33+rZaK3wsGC0VngooEgVT8i0OcPMl3Bay09kFNVmn6gWeYTK3Mj/28NsLj54QI8w9QAP8NA1+df4XnqJ890t0kMFjnA6LqJgAZuZN11zt8l0v8HDQFxu3C1cGw+dFu5p5TvdSFZIgxs1MLgrhij3qWowwfIQM2NU5vLg7zYMlyadHxP6QZO7+aKhVtg6EU1OL1vmbfy/n/HEA3qEqQd4gIeu0Z/gssc5vzOax06w2b3O/Hs5rxUaDwJxudRq3Vk3D9N3uPQi+X1pWnv5KUAUGZyj7o+geMikxUPoBXnWBXVrvC2i2KumoMr1roiiYpgsvzaPj6Myf8IV0wcP6BGmHuABHrp4nvMZ43xGS+RB19td/H8s5Tx/olHuYm6J1s7DZFrQTjYMMpLtIgqurgZYn+B9bpAG1+/Q5JqOh4heqtvk0cVdIAsq5LGA8+gyKPMYH0ddKgc98YAeYeoBHuChC+qiflRE7zvvL2lyMUY5j0nOc4lGufvYYGvnoW24ZF5sHjsUoyk0OOrmtdCNGxyPvr6+Qh4ZRkv7VOXxlEE3UNGT6lOa+1LLPQ7K/IxHHtAjTD3AAzx08XP+3Cv0u2+LWph7E3lnlUsjkvf44mG08AWZmEwDbCYxigwubvVZQyg8pOlSWTN4FBhtVR6Uzybl7yHuzugQ+VOM4t/vEtOHsOuMnFYfEmi03klPPKBHmHqAB3jogrpzV/L9cY+ynd5/Ujd1g1MW4t/fFdOn7sSv7FaKqRHWaeXSqOMLvniUWmlKNTUNg+sWdrtTg+ORyLfIaKvyWCOiUXUxHjR8OjvDx8SgvDYUHLNeKfNVjzygR5h6gAd46GI9f74hpo/mfcWw1b2Uj4lBeR1JlJFW7qBPHtqGS+bFo4Czfs8yuJ2JFmAlhMLj8OHDW2Xq1mgF2ebxQOLv8cQTV9ETmXpMjNUFZaq/v+ORB/QIUw/wAA9dxK9hjia2z0+0pIta2uoxImGm38kpd8QnD5NRymQamxIjg7Wm4vB+trwuKB5i+gjl2GhdjlRe5KKzoOD325Tv5zzygB5h6gEe4GFa/jkHPEZy/sd420c+eZgYrjoiV31R/pmodypOU/IQ9rqz5zv4X+YZlHnBIw/oEaYe4AEepvuOO+BxIYfPPOWe7I2HieHeIKYW4O9OtOhyDS6vC7gEmopHhtG6Wt6xLCbBAzzAAzyanEdX6DxMpgVNJKbkxNCZivOZtb6LQHjQCOXE1KBpPETxSOWycPFENmZQ5jyPPKBHmHqAB3iYtv5ctLR7EmWkldvtk4fxKGVlSk78d7/mCGGrCIUHm+qA8rfOlKAqPFy8cyjK8wPl+yKPPKBHmHqAB3iY7uviXXLetRhvW+iTh0m0oO6i96EugwZU5EFPYP9apn8v03/hffLMvJAHjVDmebh5KOSRF8c0I/4oTUNZm3iaonzjfyiLfEfKE1iMwYL/g36Ph7jTyLuTnni40oOecmmqw7D6tJ4Tc9eVHqk8svhkxOt1xiOrrgZUT2vVIyvmbkac3JbXI+uemrif0qj+lXz9HE+0knuU8rNu0I2clvVqpYwk4nIX83cvPExauJ9lTckpmorDXcC2YMrjPZluEdEyZP/FJg+aGpTRWk1r0dricTzRgn7RsFtkPh+jttCPaFyk8Vy19R55uNDjf5LpaxFNDxgzuGnZ1qMMj1D0CKWeQo/w9Yjnra9N3DsfEWbd3eN8jHrP3ZAoI63cNT55mBhuN5sHGd42xeRyjdbBKGFTHrQg9SXlaY4mKZ8XU/PKzvO2nrI8ZNqmbHfNg/LbnXia+lzoz6P7XEyfN5cVhipZ5k7+Tk+IvZ54uNBjhUz/ZHheXOhRhkcoeoRST6FH+HrQymxDfG/cnGitXyf0579el2jhx+EFh8RU7Nq0cleJaNyFFx5VghfE8B00IJeH/Pz/+HfqV6fIPg8kKkMPb6PfbnXBQ0TvdW3yoLm/Ixa0pDz2ae5LrwXiFWme88jDth5vljwvtvV4M5D68WaT11PoEb4eT/MnTadcYkEPyuOJRN5Z5XaJqWmctfOoErwg+bTvK3iBFg82QlqGbJIN8HpO/bxtrjBY4zgleMEMHiJ9AJUNHrTfuopdXGOch24g6bjMUTE9ykbdPGzrMVHyvNjWYyKQ+jHR5PUUeoSvhxpd61iJ3kWRMHjKYzbnOVLwoHKQDbbHB4+6gxcMWzJdbR4KVvHnABvimJgKQjyQ2EfXdE2CF9jmEcdvLBPl4owoF8uS3lfcxccn40jWycO2HmXPi209QqkfzV5PoUf4ejwppsePLhO9aCkf28N5PalxDO1DXb37ffCoK3gBGe0Kue9yYRGaPGLEL8YPpWQVb5tTkopO8AIXPKh1tULox9ud4H1XiPKxH8f5eGrZ07uaXk88bOlR9bzY0iOU+tEq9RR6hK0HtdDvE9G7Toqte0roT5mMx8+c4mOHOC+dVn9c7ly+L9fKw3XwgqtGK9OQjRpSgkcSFzS35aJE8AInPPjk0lPlzTI9LqLoF+rL+rO87XHeZ2fF7qi4TBp4caeI5rUt8MTDhh42zosNPUKpH61UT6FH2HrQSP972aBn8/3yY2590mhiNbzdYt62n/fZyscc4jwuGvzPcbk3ieh9c208dObhkmkuE2ZBA+iYflsmW5FHEg2bPIRe8AIXPNIq0Quc6sLFlCdcHzxs6tEIRI9GC+gRSj2FHuHqQe97aVrNyzLtEtG89sc45YHmuG4R02Pzlim3l9NQHTw6Go1ivaSZ9bLBLFO6FrpTvrsw2ko8lMnYuhWjo2jhC9myNeKROBnaPDIWFKgVOYs/OEfGwg6u/j/t8+KYkjYPF/ooi1s0VT11BWVxC209NjZaVg5R9n667fCNukXQ6Gea276K76OLlZY23VtplDTNby1c3WpH36cm5TrjofLRWmmKDXR5iuHFLTqnRuuIxz38+ZYpD3mDucIjxXin8dB86inNA3CKUM4LeKB+tJMeZGA7xdQ8d19wwsMkWlCa4Yk6jNYRj8qRJch4peku5y6JqzwMuzm6Qr6K6mhlBoquOjXJ6UkIPgIK6gdQpAe17gBDw00anm/yhjziNTJjnMjYpwxC4QGURyjnBTxQP6AHDLfpQS/EfyWy1w1Nromp28rV2k95N+aEBxBm/QAP1A/o4Q+htazbyXDjNTLBA0D9QD2FHtCjdmiNUgYAAAAAAC3ctoPtqTo6g4DqmB5UdjAS9JiOvBjLZVB22s8ByxOoyk63CYVHXgzuMtCJ2x0yjwpTdlKh031su0xTHp0CaCfQSML1AZTpgwf0CFMP8ACPtrluYbjtZbaviHqnM6SV6YMH9AhTD/AAj7a6bmG47YFrZPpbmb4vLEVsKlmmDx7QI0w9wAM82u66xTvciqj6vqyGZfGu4Scx6vr4QNiNNmJSpg8e0CNMPcADPNryukULtz1atvF7hsGay6Q1Rx/xxAN6hKkHeIBH2163Vlu4Iwc74ig6BFpq0Uv3Qyg8xFRUoSs8au6OiSvHA8q2oRrLpEpK4apGPPCAHmHqAR7g0dbXrRXDVQyuV9l8Wm4fqtPwQuGhGO00HnyC6jBeqjB/k6gcFPfyZE1lfiWiQMwjHnhAjzD1AA/waPvrtpLhphgcPQ3E8RQf4+3ODS8UHilGm8rDsfFShaEl1zYktg8JNwGsk2V+xU+EZzzwgB5h6gEe4IHrVpR8h0sGJ9MpNo9eNhYKY3SDNDMyNDKTG2Tawb/FhnfKttGGwIONNpUHG2sqDz7GRYX5UcpvQ44r6Y+4At6nVNI6eUCPMPUAD/DAdVumhZvTktwjzW0i5ZDJxN+9jlu0tfI4fPhwJg/+XgsPBS9mVA7CG44q6otKJb2XW+2/8sADeoSpB3iAB65bE8M1MTi5LwVgp+7TTSIKxh7v312n0brkYWi0zngkQJXjoYzfKHLHBw4qaVxm/EQ47IkH9AhTD/AAD1y3Cgq7lAu6bCdUg5Npq/z6GZtRt5jetVrVbIPgIc02lYeIuo0nEkbrjEfK09lDOb/P533mOyiTKul3uYvFBw/oEaYe4AEeuG5NDVfM7Pa8lGxJ5hlc0hAroCl4aBhtv0jvbq5SYX6ssR/t8x9kekpUXxYtLpP+93UiGq3ngwf0CFMP8AAPXLclDTdG3A1KJvKZNLdtNRlcU/CQaVvNRkv4pWblUB8GnpPpH2RaU7HMuJK+6YkH9AhTD/AAD1y3Fgz3BjaP2Gi26xocv0+1habikWG0tni8LtNHJY5bKNPaimXOFtG8tPmeeECPMPUAD/DAdVvVcMm8EtNsYuQanNL6tIJQePT19U3IlMkjx2ht8qClxf65TE8btp4PyfQTC2Wu526VW2X6ds08oEeYeoAHeOC6tdDCVQ1vQPm7yODiVh+N/Fph2Xi98+ATM6D8XWS0tnnQVKO9Mv0Fn/givCSidUFtlfkqd6v8TqZzNfOAHmHqAR7gges2BdrzcMm8it6FZkzFIWMhM7QyYbkkjzGZfsBc/hvvk2fmhTwOHz7cTa3cgt0KeeRFGzKMJDTOJ36NyB49R5XjYYsXiVomdavQ8md/7oGHVT3W/jo/4+M/rEePCjys6lEUEasJ6qlVHgc68jPe2BBtpUfevVT3ftou9zGThS9ogBLNM31Bc86rVaOtwOMI3RNk+pNtHvJGdIWH0Jt764qHitsKKscjjsukbprLnnhAjzD1AA/wwHXL0OlSXsHmOW1ksGJyqV2l0gyXWzbbUjxk+ivF5HpEFMvwvEwNTud5W09ZHiIaoRyjLh5pyBop9zJXjssOKqpa5pBHHjb0sHFebOgRSv1opXoKPaCH9/tYoeGSaZJ5Joxmu7KLa6O1xWORTO+LaERaT6LSPMC/3VrEo6+vb0gmbR4yLRfT1920wiMDvRmV42GHF61a5qBHHlX1sHVequoRSv1otXoKPaCH9/uYySjlpOHFcGq0FnmQEc4V0YtyGth0Pad+3jZXTMWuLUSK8U7jkWK0TngomJ1SQY46rqRqmbTU2agnHjb0sHFebOgRSv1opXoKPaBHEPcx4/B8bGbLRw529Cp/144SPFbxJ40o3q1s38kC7lL2McEQm2tvojuibh4ruZKoleOvHF+0apnDHnnY0MPGebGhRyj1o5XqKfSAHkHcxzrLHsgtTS9mW5JHPHgpbah3vG1OBSpDQi9kkysey5Tvr9Z00aplvuGRhw09bJwXG3qEUj9aqZ5CD+gRxH1slmg/XNDcpgXdKREpUyus8hBTL/ipcjxY00WrljnokYdNPaqcF5t6hFI/WqGeQg/oEcR9rB0Nt9GCPBaIaAj76zU+IaeV6YOHbT0agejRaHI9Qqmn0AN6BHMf6xRAK2AZVw56Epv0WKYPHtAjTD3AAzxw3cJwr+IeTq3A47KHiyWtzMsBXLS2eJieF1d6hFI/mrWeQg/oEcx9rB27lGN0tRCPox54Hw2Ehys9ugLRo6tJ9RCoH9AD97Hp6Gg0Qnml6QbKOp+0AkrR6ie01vH1hmt/akEZNKXNw3CNWqAElPWKtc+L4RrGTcUD9XQ6lHWTtfXY2MK31FDup82KdupSpqW4xnN+jxewbhceAOoH6in0gB41op26lGm493XgAaB+oJ5CD+jhAy3fpQwAAAAAQbVwi2JeukDaux/wCAf/4t+OeC3/7/7NEugRsB4A0AzYdvhGr+Xv6Pv06nfMwwUAAACAOlu4BrhJROGXaGFqWk9zMW8/K6JA7G+KaFj1J465txWPOlpXzdSCgh7TUUePjE4PjDKq1xl0RgGHwkMZ1esMOqOAQ+FRR2tTbVE2s+HS6hsUbqk3S2/+pCgLFCmCoi5QqCbbAQ7AAwAAAGg66HQp04Tm/TKdZnO5SA+QMq2T6U427Vn8fR3/dpEN6RQfa2NSNHhMgea/vSKiuXCNkuk859FjWOZ3PPOAHmHqAR7ggeu2gEeR4VIQ4d/K9JhMl0QU9/BmmX4q03HqqRDRMliX+ftx/u1m3vcSH/tbzqsswGMKi2R6X0Td2FUr+wOc160GZX7okQf0CFMP8AAPXLcaPPIMl4LvnuBWHE1iXiHTFhG9lyzCBO+7go/t5bxml/hHwGM6nq340JD2EPGsQZkTHnlAjzD1AA/wKMuDXrHdJVNHyXQX51H1uq2FR57hPi/TUhEtz0WZnSkh6hk+dozzer5EHuAxHauEfawq8bsPHtAjTD3AAzzKHvNgyXupek990MJ1WwuPLMOlAT+Piihawv0yjabs80vNFtoo5zHJeZoM/QSPmeh2cMHMKVGmDx7QI0w9wAM8yvIYt1D+uIXrthYeWYb7c/7cm+P6ZBY0cGiBpvvvTeStA/AAAAAAWgJphkvzSGkqC/Vx79Fo+f1OptUaZe3hPFeKqbmqeQAPAAAAoKUNdz1/viGi6SxFoJfENABoW8F+lNeRRBl5AA8AAACgpQ03np9kGoR3u0y/Efkj4AYTZeQBPAAAAICWNtxF/HmuRH5rZHpPZHeRjiTKyAN4AAAAAC1tuPP4s+yoLVpb+G2Zfpzy24VEGXkADwAAAKClDdcWrknZ1uXhfwQPAAAAIEjDjVtd80vmSfNMl8t0MOW3nkQZeQAPAAAAoKUNN35XWea9IoWi+7aYejeZhMn7UPAAAAAAWgZp4fneEdHcUJqqctwgrx0yDRTss1opowgueVB+VwNEJmOJJuJ+hsIDcAdaavNpEYVQHIs31hFzV4dHFh+H8XpTeWTF3G2DepqqR1bMXZ04ua2oR1bMXZ04ue1suK/KtFWmtSJa9qpocX6aT/qvRDRPNQ+U1waljCK44mGKUHgAbkC9C3cLvTnW4IH6AT2gR2mkdSmfFVHUAzKXzQXH0753aprLZs5ziI8TGnnb5pEW97AojmEoPAA36FduHj7PC3igfkCPNjRcwd0FhKdE9uL6h/hJ5xONciiPJxJ568Amj6y4hzpxDEPhAdjHm4GcF/BA/YAebWq49LKIRtXStJVjGU8rj4gooHoRejiP2ZynyYsxmzziuIeT/JR2Pad+3pYXxzAUHoQJB/Xgq4LfJwLh4UKPiRLnZSIQHqKFeTRz/YAe+nrYaAn3WLiP1cIjbx7ukyKKakOZ0MINS0sQWMrH9nBeT5bIwwYPQhyjkAYy7RTRy/4x/j6Q2CdkHicdPrWalOmDh0s9TM7LyUB4iDbg0Yz1A3ro6/GiKD/lUvCxL1q4j9XCI89wqbV2n4jeX1LIuVP8xKITT7Gb9z3Fxw5xXpdK/CNVeSS/H0rZL942pwl4qO9QbOAi5yk0y+z2yMOlHibnxaUeodSPZqyn0KP59KCZK5+LqXfApulzzqPqfawWHp0aJ/VeFpC6hGm07scy7RfROsHqGsGLedt+3mcrH3OI87hYsXKV5ZHEBc1tofL4UKbbRTR6ukrQ5HHO43bOU7fMWz3ycKmHyXlxqUco9aMZ6yn0gB5B38dmaWRE/fH0fvJlmXaJKLLNY5zyQPNXt3CL0AbK8kii0QI8qOvmL0W9SCvTBw/XejQC0aPRZHqEUk+hB/QI9j42y2BfMk4ahUuj02gRiFXcLI9bdTQlhl5Av8lO72r1JFMeohV4OFzkoClhSw8Pi1s4ga3FJ7IWt9BFKIs+2OKRtbiFLkJZ9MEWj6zFLXSxo+/Ttr5vzSpxDBnpTk4+UZXHPfz5VovwAOwilPMCHqgf0KPVDDeU5dls88h5Yu9qBh6t0IpsUnTVqUtOS7srdD1QP4CQ9QipVT2rjSoE9dOrc61OZOzTLjwA1A/UU+gBPWpEZxv9rzTQKW8U2jjv0y48ANQP1FPoAT3QwnWCQZmuAw8A9QP1FHpADx/oaDQQOgkAAAAA0MIFvMH3lJnQBm1BDwBoPmw7fKPX8tVBW504HQAAAACAFi5QY+uqmVpQ0GM6qi5YoQOdqXJVF4rQgc6iFqHwqLpQhA50FrUIhUcdrc2QF9dACxcAAAAAfLZwXT0hmi65FgoPVy2Ikgts0Py352RaJsrHcaQ5csMyPS305svFZe4T0TrZvnhAjzD1AA/wwHVbwAMt3OYDrd38vkwPiGpBk3s4D8rrVoMyP/TIA3qEqQd4gAeuWw0eOobbsJSqAjwiUAzeuRYNfC7nqVvmhEce0CNMPcADPMryoCAwd8nUUTLdxXlUvW5r4YFBU82HVR7yXBUID+gRph7gAR5lj3lQVItDe4bz+LzidVsLD9Mu5R0y3aC4+m7ltwPK9r/gfS87Mp125tFd8PtPZLpkmOecEmX64AE9wtQDPMCjLI8sk/ulTLM18xq3cN3WwsPEcCmY/IBMoxr7nuN9n3RgcuCRj4MyLdfkBR7gAR7gESKPR2U6LdOCVuKha7jDidabLl7gY20BPPRAk1S/LaL1Tn0CPMADPMCjLGgi/O9kWt0qPHQNd0uFMp6x3KoEDz1clOk+EXVl+wR4gAd4gEdZ0CAkCv23rRV46BhuR8VW2TucR1WARzlQV/Z3+QLyCfAAD/AAj7LYLtNvhN0R1rXzwDzc9sAbMt0p01nwAA/wAI8m5bFGpvdkWtysPGC47YNPZLpbpkPgAR7gAR5NyuMmmd6W6cfNyAOG2364DB7gAR7g0eQ8rmlGHlj4on1Aw9pfE9GIO/AAD/AAj2bkQdOV7hfRSOqm44EWbnuAVj75XQAXC3iAB3iAR1m8KaLpSiPNyqNtW7h5UYg2NurjkReFqGQkoSRoGPv2ACQPmQdF96AoH8NCifThOOauNo8sPpbi9WrzyKqrbVBPU/XIuodYun80hR4dnV1X9fh/XvxGagb/6yP/zQYPmp40EIAelXigS7l1QcPW/0ZEI+rAI5sHrQJGg0EugkdQPFA/AtZDGm1delA5/0pEI6V9wgqPdutSphBKr8h0XkxF7TnP23paiAcNV38vgIu2GXj0KzdTn+cFPFA/mkIPxWxd60HTkO4MwGyt8Wgnw82Ke1g1rmNoPGiYOg1Xv8mz3s3C481Azgt4oH5Ajykc4p6FTzzrYZVHOxluHPdwkp9ar+fUz9vKxnWsm8dEQf4vCv3oFjG+Kvh9IhAeLvSYKHFeJgLhIVqYRzPXj5bVQ7ZubeuR1RJ+ROhHLeqxcB+rhUdVw1XDEM0W/qDDI45RSC+8d4roxf8Yfx9I7BMyj5MO9Huz4PeTgfBwqYfJeTkZCA/RBjyasX5AD309yODnV+Axn/Ooeh+rhUdZw6U5WRtk+pGyjf7eKtPSGs3XhEe30kWQ1m2QNMxQeajvlGzgIucpNMvs9sjDpR4m58WlHqHUj2asp9Cj+fSgCDwUtL1RMn3OeVS9j9XCo4zhUuafyfS3YnpA3y7uQnhXpj/WYLZleVzQ3BYqjw9lul2mV0V20GQdjHMet3OeumXe6pGHSz1MzotLPUKpH81YT6EH9Aj6PlZmWlCdkW5c8Gi0AA/quvnLmvVOK9MHD9d6NALRo9FkeoRST6EH9Aj2PoZ5uE0CS4scQI8EHC9uURssLT6RuxCLDupcNKYOHgcqNi+WPBqGILZ4ZC1uoYsdfZ+29X1rVqtfODkXzD38+VYdN7ScG5kRD6A2hHJewAP1A3q0uuG2AbrAA63qMufFhS45LW3UU9w/oEeLtKrbyXCpn16da3UiY5924QGgfqCeQg/oUSPaaeELmsCcNwptnPdpFx4A6gfqKfSAHmjhOsGgTNeBB4D6gXoKPaCHD3Q0Gg2oAAAAAABo4QJJ2J7KojMIqI7pM2UHI0GP6ag6tSeJsiP0D1iesV92xkIoPEYO2iVSdqpPKDy2Hb7RKg+dwVG2yzTl0W7h+dodNJJwfQBl+uABPcLUAzzAo22uWxhue5ntK6Le4ftpZfrgAT3C1AM8wKOtrlsYbnvgGhGt9fx9mYY9lumDB/QIUw/wAI+2u24z3+EecLRisun7j1B42H4vFsPWknwFFeYV7vr4QKbRmippskwfPKBHmHqAB3i05XWLFm57tGzj9wyDNZdJwZ0f8cQDeoSpB3iAR9tetzqjlG3NG6raVgWPchXmAWXbUI1lUiW9V6YRDzygR5h6gAd4tPV1ixZu67Zs/yZROS7JdLKmMr+S6T6upHXzgB5h6gEe4NH2162p4e6Q6QZunVHarfx2QNn+F7zvZUeigEd+hfmVTBsS24e4krgu8yt+IjzjgQf0CFMP8AAPXLfCbOGLLQlDycM5mQZkuiDTfsuigEdxhflRym9DNZR5iZ8Iz3jgAT3C1AM8wAPXrWELd9jAXFS8IOwO3waPfLyYUTkIbzgu8xI/EQ574gE9wtQDPMAD162h4W6p8I88Y7lVCR7poCexhzJ+o8gdHzgsM34iHPbEA3qEqQd4gAeuW0PD7ajYKntH2BmRCx75T2cP5fw+n/eZ76BMqqTf5S4WHzygR5h6gAd44Lot2cIFwgWd+B9r7Ef7/AeZnhLVl0WLy6RKuk5Eo/V88IAeYeoBHuCB6xaG23L4pWbliNEt03My/YNMayqWGVfSNz3xgB5h6gEe4IHrFobbknhdpo9KHLdQprUVy5wtonlp8z3xgB5h6gEe4IHrFobbkqClxf65TE+LaEUUXRyS6ScWylzP3Sq3yvTtmnlAjzD1AA/wwHULw21ZTMq0V0SLaxzS2P8lEa0LaqvMV7lb5Xcimm9cJw/oEaYe4AEeuG5TMEu0KfKiEG1s1McjLwqRYSShcT7xa0T26DmqHA9bpK+WSd0qtPzZn3vgYVWPf/FvR3Iz/rt/s6QWPSrwsKpHUaSsJqinVnkURTAzvH80vR4jB/MFWfJoA/cxtHBbErcVVI5HHJdJ3TSXPfGAHmHqAR7ggeu2TQ23R0SxDM+LKOpPg7+/wr81O4+skXIvc+VwsZazWuaQRx429LBxXmzoEUr9aKV6Cj2gh/f72KwDHcI7auKwSKa3ZZqbUmlolNoqmZb/2UuHP3QUa96Ih0wflsi7N6NyPOzwolXLHPTIo6oets5LVT1CqR+tVk+hB/Twfh9La+F2iekTeZN/1wXbPJ7lykEvyvtlup5TP2+by/uEyqMIs1MqyFHHlVQtk5Y6G/XEw4YeNs6LDT1CqR+tVE+hB/QI4j42K8VcjvH3+/nzNf5cx0KqmJMgbdNsbfNYxZ8UtUcNPLCTBdyl7BMaDx2sTJRJleOvHF+0apnDHnnY0MPGebGhRyj1o5XqKfSAHkHcxzpTzGW1TItF9LK4h7+v5t/ilh2tsEHxAdVICvT3VpmWVjRfVzy6+TNtqPehFMMMhYculinfX63polXLfMMjDxt62DgvNvQIpX60Uj2FHtAjiPtYZ4q5UMzWe2T6RESrbtzD22KTIfOgScGLFNHjPKgL4V2Z/mjBbF3xuKCxLRQeJlijVI4Ha7po1TIHPfKwqUeV82JTj1DqRyvUU+gBPYK4j3VmmIv6ovvDhMm8xiZDXQkdOcmG2brg0chIofEwwQIRDWF/vcYn5LQyffCwrUfZ82Jbj1DqR7PXU+gBPYK5j5HhXpPYlpZ5Hf84eFTrEnmdn8QmPZbpgwf0CFMP8AAPXLcJ0KApipZwP7fUqMV2SqYVSqvuVt42j5vb9/MxtldkcsIjZ8rRPfz5li0eeSvu5KzWk8XDBJc9XCxpZV4O4KK1xcP0vLjSI5T60az1FHpAj2DuY50JkxlkIyHRbhLRMldvpZmLI9TJI296Tyg8dHHUw0WbVubRAG4etniYnhdXeoRSP5q1nkIP6BHMfWxWRsuOMM6fZ/nTtdm65jEmpq9+ciJjn9B4zIDhGrpW4KPMOrgp6xUbnRfbepTlkQbDtY2zemIq86hzTXJXPJQessp6GK4p7AxVeCjrJlfWY0ffp7X/7z7KTGvhJk0mNpPk33XBBY9HFNNMQ7yAdYg8APcI5byAB+oH9GhR/P8CDADf08qDYpVhFgAAAABJRU5ErkJggg==);
+    background-size: 238px 204px;
+  }
+}
+
+.tsd-signature.tsd-kind-icon:before {
+  background-position: 0 -153px;
+}
+
+.tsd-kind-object-literal > .tsd-kind-icon:before {
+  background-position: 0px -17px;
+}
+.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -17px;
+}
+.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -17px;
+}
+
+.tsd-kind-class > .tsd-kind-icon:before {
+  background-position: 0px -34px;
+}
+.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -34px;
+}
+.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -34px;
+}
+
+.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -51px;
+}
+.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -51px;
+}
+
+.tsd-kind-interface > .tsd-kind-icon:before {
+  background-position: 0px -68px;
+}
+.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -68px;
+}
+.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -68px;
+}
+
+.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -85px;
+}
+.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -85px;
+}
+
+.tsd-kind-namespace > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-module > .tsd-kind-icon:before {
+  background-position: 0px -102px;
+}
+.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -102px;
+}
+.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -102px;
+}
+
+.tsd-kind-enum > .tsd-kind-icon:before {
+  background-position: 0px -119px;
+}
+.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -119px;
+}
+.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -119px;
+}
+
+.tsd-kind-enum-member > .tsd-kind-icon:before {
+  background-position: 0px -136px;
+}
+.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -136px;
+}
+.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -136px;
+}
+
+.tsd-kind-signature > .tsd-kind-icon:before {
+  background-position: 0px -153px;
+}
+.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -153px;
+}
+.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -153px;
+}
+
+.tsd-kind-type-alias > .tsd-kind-icon:before {
+  background-position: 0px -170px;
+}
+.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -170px;
+}
+.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -170px;
+}
+
+.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: 0px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -17px -187px;
+}
+.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -34px -187px;
+}
+
+.tsd-kind-variable > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-property > .tsd-kind-icon:before {
+  background-position: -136px -0px;
+}
+.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -0px;
+}
+.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -0px;
+}
+.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -0px;
+}
+
+.tsd-kind-get-signature > .tsd-kind-icon:before {
+  background-position: -136px -17px;
+}
+.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -17px;
+}
+.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -17px;
+}
+.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -17px;
+}
+
+.tsd-kind-set-signature > .tsd-kind-icon:before {
+  background-position: -136px -34px;
+}
+.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -34px;
+}
+.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -34px;
+}
+.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -34px;
+}
+
+.tsd-kind-accessor > .tsd-kind-icon:before {
+  background-position: -136px -51px;
+}
+.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -51px;
+}
+.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -51px;
+}
+.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -51px;
+}
+
+.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -68px;
+}
+.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -68px;
+}
+.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -68px;
+}
+.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -68px;
+}
+
+.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before {
+  background-position: -136px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -85px;
+}
+.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -85px;
+}
+
+.tsd-kind-constructor > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-constructor-signature > .tsd-kind-icon:before {
+  background-position: -136px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -102px;
+}
+.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -102px;
+}
+.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -102px;
+}
+
+.tsd-kind-index-signature > .tsd-kind-icon:before {
+  background-position: -136px -119px;
+}
+.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -119px;
+}
+.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -119px;
+}
+.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -119px;
+}
+
+.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -136px;
+}
+.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -136px;
+}
+.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -136px;
+}
+.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -136px;
+}
+
+.tsd-is-static > .tsd-kind-icon:before {
+  background-position: -136px -153px;
+}
+.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -153px;
+}
+.tsd-is-static.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -153px;
+}
+.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -153px;
+}
+.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -153px;
+}
+.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -153px;
+}
+
+.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before {
+  background-position: -136px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -170px;
+}
+.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -170px;
+}
+
+.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before {
+  background-position: -136px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -153px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before {
+  background-position: -51px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -68px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -85px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -102px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before {
+  background-position: -170px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before {
+  background-position: -187px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before {
+  background-position: -119px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before {
+  background-position: -204px -187px;
+}
+.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited > .tsd-kind-icon:before {
+  background-position: -221px -187px;
+}
+
+.no-transition {
+  transition: none !important;
+}
+
+@keyframes fade-in {
+  from {
+    opacity: 0;
+  }
+  to {
+    opacity: 1;
+  }
+}
+@keyframes fade-out {
+  from {
+    opacity: 1;
+    visibility: visible;
+  }
+  to {
+    opacity: 0;
+  }
+}
+@keyframes fade-in-delayed {
+  0% {
+    opacity: 0;
+  }
+  33% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 1;
+  }
+}
+@keyframes fade-out-delayed {
+  0% {
+    opacity: 1;
+    visibility: visible;
+  }
+  66% {
+    opacity: 0;
+  }
+  100% {
+    opacity: 0;
+  }
+}
+@keyframes shift-to-left {
+  from {
+    transform: translate(0, 0);
+  }
+  to {
+    transform: translate(-25%, 0);
+  }
+}
+@keyframes unshift-to-left {
+  from {
+    transform: translate(-25%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-in-from-right {
+  from {
+    transform: translate(100%, 0);
+  }
+  to {
+    transform: translate(0, 0);
+  }
+}
+@keyframes pop-out-to-right {
+  from {
+    transform: translate(0, 0);
+    visibility: visible;
+  }
+  to {
+    transform: translate(100%, 0);
+  }
+}
+body {
+  background: #fdfdfd;
+  font-family: "Segoe UI", sans-serif;
+  font-size: 16px;
+  color: #222;
+}
+
+a {
+  color: #4da6ff;
+  text-decoration: none;
+}
+a:hover {
+  text-decoration: underline;
+}
+
+code, pre {
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  padding: 0.2em;
+  margin: 0;
+  font-size: 14px;
+  background-color: rgba(0, 0, 0, 0.04);
+}
+
+pre {
+  padding: 10px;
+}
+pre code {
+  padding: 0;
+  font-size: 100%;
+  background-color: transparent;
+}
+
+.tsd-typography {
+  line-height: 1.333em;
+}
+.tsd-typography ul {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-typography h4, .tsd-typography .tsd-index-panel h3, .tsd-index-panel .tsd-typography h3, .tsd-typography h5, .tsd-typography h6 {
+  font-size: 1em;
+  margin: 0;
+}
+.tsd-typography h5, .tsd-typography h6 {
+  font-weight: normal;
+}
+.tsd-typography p, .tsd-typography ul, .tsd-typography ol {
+  margin: 1em 0;
+}
+
+@media (min-width: 901px) and (max-width: 1024px) {
+  html.default .col-content {
+    width: 72%;
+  }
+  html.default .col-menu {
+    width: 28%;
+  }
+  html.default .tsd-navigation {
+    padding-left: 10px;
+  }
+}
+@media (max-width: 900px) {
+  html.default .col-content {
+    float: none;
+    width: 100%;
+  }
+  html.default .col-menu {
+    position: fixed !important;
+    overflow: auto;
+    -webkit-overflow-scrolling: touch;
+    z-index: 1024;
+    top: 0 !important;
+    bottom: 0 !important;
+    left: auto !important;
+    right: 0 !important;
+    width: 100%;
+    padding: 20px 20px 0 0;
+    max-width: 450px;
+    visibility: hidden;
+    background-color: #fff;
+    transform: translate(100%, 0);
+  }
+  html.default .col-menu > *:last-child {
+    padding-bottom: 20px;
+  }
+  html.default .overlay {
+    content: "";
+    display: block;
+    position: fixed;
+    z-index: 1023;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.75);
+    visibility: hidden;
+  }
+  html.default.to-has-menu .overlay {
+    animation: fade-in 0.4s;
+  }
+  html.default.to-has-menu header,
+html.default.to-has-menu footer,
+html.default.to-has-menu .col-content {
+    animation: shift-to-left 0.4s;
+  }
+  html.default.to-has-menu .col-menu {
+    animation: pop-in-from-right 0.4s;
+  }
+  html.default.from-has-menu .overlay {
+    animation: fade-out 0.4s;
+  }
+  html.default.from-has-menu header,
+html.default.from-has-menu footer,
+html.default.from-has-menu .col-content {
+    animation: unshift-to-left 0.4s;
+  }
+  html.default.from-has-menu .col-menu {
+    animation: pop-out-to-right 0.4s;
+  }
+  html.default.has-menu body {
+    overflow: hidden;
+  }
+  html.default.has-menu .overlay {
+    visibility: visible;
+  }
+  html.default.has-menu header,
+html.default.has-menu footer,
+html.default.has-menu .col-content {
+    transform: translate(-25%, 0);
+  }
+  html.default.has-menu .col-menu {
+    visibility: visible;
+    transform: translate(0, 0);
+  }
+}
+
+.tsd-page-title {
+  padding: 70px 0 20px 0;
+  margin: 0 0 40px 0;
+  background: #fff;
+  box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);
+}
+.tsd-page-title h1 {
+  margin: 0;
+}
+
+.tsd-breadcrumb {
+  margin: 0;
+  padding: 0;
+  color: #808080;
+}
+.tsd-breadcrumb a {
+  color: #808080;
+  text-decoration: none;
+}
+.tsd-breadcrumb a:hover {
+  text-decoration: underline;
+}
+.tsd-breadcrumb li {
+  display: inline;
+}
+.tsd-breadcrumb li:after {
+  content: " / ";
+}
+
+html.minimal .container {
+  margin: 0;
+}
+html.minimal .container-main {
+  padding-top: 50px;
+  padding-bottom: 0;
+}
+html.minimal .content-wrap {
+  padding-left: 300px;
+}
+html.minimal .tsd-navigation {
+  position: fixed !important;
+  overflow: auto;
+  -webkit-overflow-scrolling: touch;
+  box-sizing: border-box;
+  z-index: 1;
+  left: 0;
+  top: 40px;
+  bottom: 0;
+  width: 300px;
+  padding: 20px;
+  margin: 0;
+}
+html.minimal .tsd-member .tsd-member {
+  margin-left: 0;
+}
+html.minimal .tsd-page-toolbar {
+  position: fixed;
+  z-index: 2;
+}
+html.minimal #tsd-filter .tsd-filter-group {
+  right: 0;
+  transform: none;
+}
+html.minimal footer {
+  background-color: transparent;
+}
+html.minimal footer .container {
+  padding: 0;
+}
+html.minimal .tsd-generator {
+  padding: 0;
+}
+@media (max-width: 900px) {
+  html.minimal .tsd-navigation {
+    display: none;
+  }
+  html.minimal .content-wrap {
+    padding-left: 0;
+  }
+}
+
+dl.tsd-comment-tags {
+  overflow: hidden;
+}
+dl.tsd-comment-tags dt {
+  float: left;
+  padding: 1px 5px;
+  margin: 0 10px 0 0;
+  border-radius: 4px;
+  border: 1px solid #808080;
+  color: #808080;
+  font-size: 0.8em;
+  font-weight: normal;
+}
+dl.tsd-comment-tags dd {
+  margin: 0 0 10px 0;
+}
+dl.tsd-comment-tags dd:before, dl.tsd-comment-tags dd:after {
+  display: table;
+  content: " ";
+}
+dl.tsd-comment-tags dd pre, dl.tsd-comment-tags dd:after {
+  clear: both;
+}
+dl.tsd-comment-tags p {
+  margin: 0;
+}
+
+.tsd-panel.tsd-comment .lead {
+  font-size: 1.1em;
+  line-height: 1.333em;
+  margin-bottom: 2em;
+}
+.tsd-panel.tsd-comment .lead:last-child {
+  margin-bottom: 0;
+}
+
+.toggle-protected .tsd-is-private {
+  display: none;
+}
+
+.toggle-public .tsd-is-private,
+.toggle-public .tsd-is-protected,
+.toggle-public .tsd-is-private-protected {
+  display: none;
+}
+
+.toggle-inherited .tsd-is-inherited {
+  display: none;
+}
+
+.toggle-only-exported .tsd-is-not-exported {
+  display: none;
+}
+
+.toggle-externals .tsd-is-external {
+  display: none;
+}
+
+#tsd-filter {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+}
+.no-filter #tsd-filter {
+  display: none;
+}
+#tsd-filter .tsd-filter-group {
+  display: inline-block;
+  height: 40px;
+  vertical-align: bottom;
+  white-space: nowrap;
+}
+#tsd-filter input {
+  display: none;
+}
+@media (max-width: 900px) {
+  #tsd-filter .tsd-filter-group {
+    display: block;
+    position: absolute;
+    top: 40px;
+    right: 20px;
+    height: auto;
+    background-color: #fff;
+    visibility: hidden;
+    transform: translate(50%, 0);
+    box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  }
+  .has-options #tsd-filter .tsd-filter-group {
+    visibility: visible;
+  }
+  .to-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-in 0.2s;
+  }
+  .from-has-options #tsd-filter .tsd-filter-group {
+    animation: fade-out 0.2s;
+  }
+  #tsd-filter label,
+#tsd-filter .tsd-select {
+    display: block;
+    padding-right: 20px;
+  }
+}
+
+footer {
+  border-top: 1px solid #eee;
+  background-color: #fff;
+}
+footer.with-border-bottom {
+  border-bottom: 1px solid #eee;
+}
+footer .tsd-legend-group {
+  font-size: 0;
+}
+footer .tsd-legend {
+  display: inline-block;
+  width: 25%;
+  padding: 0;
+  font-size: 16px;
+  list-style: none;
+  line-height: 1.333em;
+  vertical-align: top;
+}
+@media (max-width: 900px) {
+  footer .tsd-legend {
+    width: 50%;
+  }
+}
+
+.tsd-hierarchy {
+  list-style: square;
+  padding: 0 0 0 20px;
+  margin: 0;
+}
+.tsd-hierarchy .target {
+  font-weight: bold;
+}
+
+.tsd-index-panel .tsd-index-content {
+  margin-bottom: -30px !important;
+}
+.tsd-index-panel .tsd-index-section {
+  margin-bottom: 30px !important;
+}
+.tsd-index-panel h3 {
+  margin: 0 -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-index-panel ul.tsd-index-list {
+  -moz-column-count: 3;
+  -ms-column-count: 3;
+  -o-column-count: 3;
+  column-count: 3;
+  -moz-column-gap: 20px;
+  -ms-column-gap: 20px;
+  -o-column-gap: 20px;
+  column-gap: 20px;
+  padding: 0;
+  list-style: none;
+  line-height: 1.333em;
+}
+@media (max-width: 900px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 1;
+    -ms-column-count: 1;
+    -o-column-count: 1;
+    column-count: 1;
+  }
+}
+@media (min-width: 901px) and (max-width: 1024px) {
+  .tsd-index-panel ul.tsd-index-list {
+    -moz-column-count: 2;
+    -ms-column-count: 2;
+    -o-column-count: 2;
+    column-count: 2;
+  }
+}
+.tsd-index-panel ul.tsd-index-list li {
+  -webkit-page-break-inside: avoid;
+  -moz-page-break-inside: avoid;
+  -ms-page-break-inside: avoid;
+  -o-page-break-inside: avoid;
+  page-break-inside: avoid;
+}
+.tsd-index-panel a,
+.tsd-index-panel .tsd-parent-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-parent-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-parent-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-parent-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-kind-module a {
+  color: #9600ff;
+}
+.tsd-index-panel .tsd-kind-interface a {
+  color: #7da01f;
+}
+.tsd-index-panel .tsd-kind-enum a {
+  color: #cc9900;
+}
+.tsd-index-panel .tsd-kind-class a {
+  color: #4da6ff;
+}
+.tsd-index-panel .tsd-is-private a {
+  color: #808080;
+}
+
+.tsd-flag {
+  display: inline-block;
+  padding: 1px 5px;
+  border-radius: 4px;
+  color: #fff;
+  background-color: #808080;
+  text-indent: 0;
+  font-size: 14px;
+  font-weight: normal;
+}
+
+.tsd-anchor {
+  position: absolute;
+  top: -100px;
+}
+
+.tsd-member {
+  position: relative;
+}
+.tsd-member .tsd-anchor + h3 {
+  margin-top: 0;
+  margin-bottom: 0;
+  border-bottom: none;
+}
+
+.tsd-navigation {
+  margin: 0 0 0 40px;
+}
+.tsd-navigation a {
+  display: block;
+  padding-top: 2px;
+  padding-bottom: 2px;
+  border-left: 2px solid transparent;
+  color: #222;
+  text-decoration: none;
+  transition: border-left-color 0.1s;
+}
+.tsd-navigation a:hover {
+  text-decoration: underline;
+}
+.tsd-navigation ul {
+  margin: 0;
+  padding: 0;
+  list-style: none;
+}
+.tsd-navigation li {
+  padding: 0;
+}
+
+.tsd-navigation.primary {
+  padding-bottom: 40px;
+}
+.tsd-navigation.primary a {
+  display: block;
+  padding-top: 6px;
+  padding-bottom: 6px;
+}
+.tsd-navigation.primary ul li a {
+  padding-left: 5px;
+}
+.tsd-navigation.primary ul li li a {
+  padding-left: 25px;
+}
+.tsd-navigation.primary ul li li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.primary ul li li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.primary ul li li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.primary ul li li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.primary > ul {
+  border-bottom: 1px solid #eee;
+}
+.tsd-navigation.primary li {
+  border-top: 1px solid #eee;
+}
+.tsd-navigation.primary li.current > a {
+  font-weight: bold;
+}
+.tsd-navigation.primary li.label span {
+  display: block;
+  padding: 20px 0 6px 5px;
+  color: #808080;
+}
+.tsd-navigation.primary li.globals + li > span, .tsd-navigation.primary li.globals + li > a {
+  padding-top: 20px;
+}
+
+.tsd-navigation.secondary {
+  max-height: calc(100vh - 1rem - 40px);
+  overflow: auto;
+  position: -webkit-sticky;
+  position: sticky;
+  top: calc(.5rem + 40px);
+  transition: 0.3s;
+}
+.tsd-navigation.secondary.tsd-navigation--toolbar-hide {
+  max-height: calc(100vh - 1rem);
+  top: 0.5rem;
+}
+.tsd-navigation.secondary ul {
+  transition: opacity 0.2s;
+}
+.tsd-navigation.secondary ul li a {
+  padding-left: 25px;
+}
+.tsd-navigation.secondary ul li li a {
+  padding-left: 45px;
+}
+.tsd-navigation.secondary ul li li li a {
+  padding-left: 65px;
+}
+.tsd-navigation.secondary ul li li li li a {
+  padding-left: 85px;
+}
+.tsd-navigation.secondary ul li li li li li a {
+  padding-left: 105px;
+}
+.tsd-navigation.secondary ul li li li li li li a {
+  padding-left: 125px;
+}
+.tsd-navigation.secondary ul.current a {
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.focus > a,
+.tsd-navigation.secondary ul.current li.focus > a {
+  border-left-color: #000;
+}
+.tsd-navigation.secondary li.current {
+  margin-top: 20px;
+  margin-bottom: 20px;
+  border-left-color: #eee;
+}
+.tsd-navigation.secondary li.current > a {
+  font-weight: bold;
+}
+
+@media (min-width: 901px) {
+  .menu-sticky-wrap {
+    position: static;
+  }
+}
+
+.tsd-panel {
+  margin: 20px 0;
+  padding: 20px;
+  background-color: #fff;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+.tsd-panel:empty {
+  display: none;
+}
+.tsd-panel > h1, .tsd-panel > h2, .tsd-panel > h3 {
+  margin: 1.5em -20px 10px -20px;
+  padding: 0 20px 10px 20px;
+  border-bottom: 1px solid #eee;
+}
+.tsd-panel > h1.tsd-before-signature, .tsd-panel > h2.tsd-before-signature, .tsd-panel > h3.tsd-before-signature {
+  margin-bottom: 0;
+  border-bottom: 0;
+}
+.tsd-panel table {
+  display: block;
+  width: 100%;
+  overflow: auto;
+  margin-top: 10px;
+  word-break: normal;
+  word-break: keep-all;
+}
+.tsd-panel table th {
+  font-weight: bold;
+}
+.tsd-panel table th, .tsd-panel table td {
+  padding: 6px 13px;
+  border: 1px solid #ddd;
+}
+.tsd-panel table tr {
+  background-color: #fff;
+  border-top: 1px solid #ccc;
+}
+.tsd-panel table tr:nth-child(2n) {
+  background-color: #f8f8f8;
+}
+
+.tsd-panel-group {
+  margin: 60px 0;
+}
+.tsd-panel-group > h1, .tsd-panel-group > h2, .tsd-panel-group > h3 {
+  padding-left: 20px;
+  padding-right: 20px;
+}
+
+#tsd-search {
+  transition: background-color 0.2s;
+}
+#tsd-search .title {
+  position: relative;
+  z-index: 2;
+}
+#tsd-search .field {
+  position: absolute;
+  left: 0;
+  top: 0;
+  right: 40px;
+  height: 40px;
+}
+#tsd-search .field input {
+  box-sizing: border-box;
+  position: relative;
+  top: -50px;
+  z-index: 1;
+  width: 100%;
+  padding: 0 10px;
+  opacity: 0;
+  outline: 0;
+  border: 0;
+  background: transparent;
+  color: #222;
+}
+#tsd-search .field label {
+  position: absolute;
+  overflow: hidden;
+  right: -40px;
+}
+#tsd-search .field input,
+#tsd-search .title {
+  transition: opacity 0.2s;
+}
+#tsd-search .results {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  width: 100%;
+  margin: 0;
+  padding: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+}
+#tsd-search .results li {
+  padding: 0 10px;
+  background-color: #fdfdfd;
+}
+#tsd-search .results li:nth-child(even) {
+  background-color: #fff;
+}
+#tsd-search .results li.state {
+  display: none;
+}
+#tsd-search .results li.current,
+#tsd-search .results li:hover {
+  background-color: #eee;
+}
+#tsd-search .results a {
+  display: block;
+}
+#tsd-search .results a:before {
+  top: 10px;
+}
+#tsd-search .results span.parent {
+  color: #808080;
+  font-weight: normal;
+}
+#tsd-search.has-focus {
+  background-color: #eee;
+}
+#tsd-search.has-focus .field input {
+  top: 0;
+  opacity: 1;
+}
+#tsd-search.has-focus .title {
+  z-index: 0;
+  opacity: 0;
+}
+#tsd-search.has-focus .results {
+  visibility: visible;
+}
+#tsd-search.loading .results li.state.loading {
+  display: block;
+}
+#tsd-search.failure .results li.state.failure {
+  display: block;
+}
+
+.tsd-signature {
+  margin: 0 0 1em 0;
+  padding: 10px;
+  border: 1px solid #eee;
+  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+  font-size: 14px;
+}
+.tsd-signature.tsd-kind-icon {
+  padding-left: 30px;
+}
+.tsd-signature.tsd-kind-icon:before {
+  top: 10px;
+  left: 10px;
+}
+.tsd-panel > .tsd-signature {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+
+.tsd-signature-symbol {
+  color: #808080;
+  font-weight: normal;
+}
+
+.tsd-signature-type {
+  font-style: italic;
+  font-weight: normal;
+}
+
+.tsd-signatures {
+  padding: 0;
+  margin: 0 0 1em 0;
+  border: 1px solid #eee;
+}
+.tsd-signatures .tsd-signature {
+  margin: 0;
+  border-width: 1px 0 0 0;
+  transition: background-color 0.1s;
+}
+.tsd-signatures .tsd-signature:first-child {
+  border-top-width: 0;
+}
+.tsd-signatures .tsd-signature.current {
+  background-color: #eee;
+}
+.tsd-signatures.active > .tsd-signature {
+  cursor: pointer;
+}
+.tsd-panel > .tsd-signatures {
+  margin-left: -20px;
+  margin-right: -20px;
+  border-width: 1px 0;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon {
+  padding-left: 40px;
+}
+.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before {
+  left: 20px;
+}
+.tsd-panel > a.anchor + .tsd-signatures {
+  border-top-width: 0;
+  margin-top: -20px;
+}
+
+ul.tsd-descriptions {
+  position: relative;
+  overflow: hidden;
+  transition: height 0.3s;
+  padding: 0;
+  list-style: none;
+}
+ul.tsd-descriptions.active > .tsd-description {
+  display: none;
+}
+ul.tsd-descriptions.active > .tsd-description.current {
+  display: block;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-in {
+  animation: fade-in-delayed 0.3s;
+}
+ul.tsd-descriptions.active > .tsd-description.fade-out {
+  animation: fade-out-delayed 0.3s;
+  position: absolute;
+  display: block;
+  top: 0;
+  left: 0;
+  right: 0;
+  opacity: 0;
+  visibility: hidden;
+}
+ul.tsd-descriptions h4, ul.tsd-descriptions .tsd-index-panel h3, .tsd-index-panel ul.tsd-descriptions h3 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+
+ul.tsd-parameters,
+ul.tsd-type-parameters {
+  list-style: square;
+  margin: 0;
+  padding-left: 20px;
+}
+ul.tsd-parameters > li.tsd-parameter-signature,
+ul.tsd-type-parameters > li.tsd-parameter-signature {
+  list-style: none;
+  margin-left: -20px;
+}
+ul.tsd-parameters h5,
+ul.tsd-type-parameters h5 {
+  font-size: 16px;
+  margin: 1em 0 0.5em 0;
+}
+ul.tsd-parameters .tsd-comment,
+ul.tsd-type-parameters .tsd-comment {
+  margin-top: -0.5em;
+}
+
+.tsd-sources {
+  font-size: 14px;
+  color: #808080;
+  margin: 0 0 1em 0;
+}
+.tsd-sources a {
+  color: #808080;
+  text-decoration: underline;
+}
+.tsd-sources ul, .tsd-sources p {
+  margin: 0 !important;
+}
+.tsd-sources ul {
+  list-style: none;
+  padding: 0;
+}
+
+.tsd-page-toolbar {
+  position: fixed;
+  z-index: 1;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 40px;
+  color: #333;
+  background: #fff;
+  border-bottom: 1px solid #eee;
+  transition: transform 0.3s linear;
+}
+.tsd-page-toolbar a {
+  color: #333;
+  text-decoration: none;
+}
+.tsd-page-toolbar a.title {
+  font-weight: bold;
+}
+.tsd-page-toolbar a.title:hover {
+  text-decoration: underline;
+}
+.tsd-page-toolbar .table-wrap {
+  display: table;
+  width: 100%;
+  height: 40px;
+}
+.tsd-page-toolbar .table-cell {
+  display: table-cell;
+  position: relative;
+  white-space: nowrap;
+  line-height: 40px;
+}
+.tsd-page-toolbar .table-cell:first-child {
+  width: 100%;
+}
+
+.tsd-page-toolbar--hide {
+  transform: translateY(-100%);
+}
+
+.tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+  content: "";
+  display: inline-block;
+  width: 40px;
+  height: 40px;
+  margin: 0 -8px 0 0;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUAAAAAoCAQAAAAlSeuiAAABp0lEQVR4Ae3aUa3jQAyF4QNhIBTCQiiEQlgIhRAGhTAQBkIgBEIgDITZZGXNjZTePiSWYqn/54dGfbAq+SiTutWXAgAAAAAAAAAAAAA8NCz1UFSD2lKDS5d3NVzZj/BVNasaLoRZRUmj2lLrVVHWMUntQ13Wj/i1pWa9lprX6xMRnH4dx6Rjsn26+v+12ms+EcB37P0r+qH+DNQGXgMFcHzbregQ78B8eQCTJk0e979ZW7PdA2O49ceDsYexKgUNoI3EKYDWL3D8miaPh/uXtl6BHqEHFQvgXau/FsCiIWAAbST2fpQRT0sl70j3z5ZiBdD7CG5WZX8kxwmgjbiP5GQA9/3O2XaxnnHi53AEE0AbRh+JQwC3/fzC4hcb6xPvS4i3QaMdwX+0utsRPEY6gm2wNhKHAG77eUi7SIcK4G4NY4GMIan2u2Cxqzncl5DUn7Q8ArjvZ8JFOsl/Ed0jyBom+BomQKSto+9PcblHMM4iuu4X0QQw5hrGQY/gUxFkjZuf4m4alXVU+1De/VhEn5CvDSB/RsBzqWgAAAAAAAAAAAAAAACAfyyYJ5nhVuwIAAAAAElFTkSuQmCC);
+  background-repeat: no-repeat;
+  text-indent: -1024px;
+  vertical-align: bottom;
+}
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) {
+  .tsd-select .tsd-select-list li:before, .tsd-select .tsd-select-label:before, .tsd-widget:before {
+    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAABQCAMAAAC+sjQXAAAAM1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjBUbJAAAAEXRSTlMA3/+/UCBw7xCPYIBAMM+vn1qYQ7QAAALCSURBVHgB7MGBAAAAAICg/akXqQIAAAAAAAAAAAAAAAAAAJids9mdE4bhoDNZCITP93/aSmhV/9uwPWyi8jtkblws2IxsYpz9LwSAaJW8AreE16PxOsMYE6Q4DiYKF7X+8ZHXc/E608xv5snEyIuZrVwMZjbnujR6T3gsXmcLOIRNzD+Ig2UuVtt2+NbAiX/wVLzOlviD9L2BOfGBlL/3D1I+uDjGBJArBPxU3x+K15kCQFo2s21JAOHrKpz4SPrWv4IKA+uFaR6vMwMcb+emA2DWEfDglrkLqEBOKVslA8Dx14oPMiV4CtywWxdQgAwkq2QE0uTXUwJGk2G9s3mTFNBzAkC7HKPsX72AEVjMnAWIpsPCRRjXdQxcjCYpoOcEgHY5Rtk/slWSgM3M2aSeeVgjAOeVpKcdgGMdNAXMuIAqOcZzqF8L+WcAsi8wkTeheCWMegL6mgCorHHyEJ5TVfxrLWDrTUjZdhnhjYqAnlN8TaoELOLVC0gucmoz/3RKcPs2jAs4+J5ET8AEZF+TSgGLeC1V8YuGQQU2IV1Asq9JCwE9XitZVPxr34bpJRj8PqsFLOK108W9aVrWZRrR7Sm2HL4JCToCujHZ6gUs4jUz0P1TEvD+U5wMa363YeziBODIq1YbJrsv9QKW8Ry1nNp+GAHvuingRTfmYcjBf0QpAS37bdUL6PFKtHJq63EsZ5cxcKMkDVIClu1dAK1PcJ5TFQ0M9wZKDCPs3BD7MIJGTs3WfiTfDVQYx5q5ZekCauTU3P5Q0ukGCgh49oFURdobWBY9N/CxEuwGjpGLuPhTdwH1x7HqDDxNgRP2zQ8lraFyF/yJ9vH6QGqtgSbBOU8/j2VORz+Wqfle2d5Ae4R+ML0z7Y+W4P7XHN3AU+tzyK/24EAGAAAAYJC/9T2+CgAAAAAAAAAAAAAAAAAAAADgJpfzHyIKFFBKAAAAAElFTkSuQmCC);
+    background-size: 320px 40px;
+  }
+}
+
+.tsd-widget {
+  display: inline-block;
+  overflow: hidden;
+  opacity: 0.6;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-widget:hover {
+  opacity: 0.8;
+}
+.tsd-widget.active {
+  opacity: 1;
+  background-color: #eee;
+}
+.tsd-widget.no-caption {
+  width: 40px;
+}
+.tsd-widget.no-caption:before {
+  margin: 0;
+}
+.tsd-widget.search:before {
+  background-position: 0 0;
+}
+.tsd-widget.menu:before {
+  background-position: -40px 0;
+}
+.tsd-widget.options:before {
+  background-position: -80px 0;
+}
+.tsd-widget.options, .tsd-widget.menu {
+  display: none;
+}
+@media (max-width: 900px) {
+  .tsd-widget.options, .tsd-widget.menu {
+    display: inline-block;
+  }
+}
+input[type=checkbox] + .tsd-widget:before {
+  background-position: -120px 0;
+}
+input[type=checkbox]:checked + .tsd-widget:before {
+  background-position: -160px 0;
+}
+
+.tsd-select {
+  position: relative;
+  display: inline-block;
+  height: 40px;
+  transition: opacity 0.1s, background-color 0.2s;
+  vertical-align: bottom;
+  cursor: pointer;
+}
+.tsd-select .tsd-select-label {
+  opacity: 0.6;
+  transition: opacity 0.2s;
+}
+.tsd-select .tsd-select-label:before {
+  background-position: -240px 0;
+}
+.tsd-select.active .tsd-select-label {
+  opacity: 0.8;
+}
+.tsd-select.active .tsd-select-list {
+  visibility: visible;
+  opacity: 1;
+  transition-delay: 0s;
+}
+.tsd-select .tsd-select-list {
+  position: absolute;
+  visibility: hidden;
+  top: 40px;
+  left: 0;
+  margin: 0;
+  padding: 0;
+  opacity: 0;
+  list-style: none;
+  box-shadow: 0 0 4px rgba(0, 0, 0, 0.25);
+  transition: visibility 0s 0.2s, opacity 0.2s;
+}
+.tsd-select .tsd-select-list li {
+  padding: 0 20px 0 0;
+  background-color: #fdfdfd;
+}
+.tsd-select .tsd-select-list li:before {
+  background-position: 40px 0;
+}
+.tsd-select .tsd-select-list li:nth-child(even) {
+  background-color: #fff;
+}
+.tsd-select .tsd-select-list li:hover {
+  background-color: #eee;
+}
+.tsd-select .tsd-select-list li.selected:before {
+  background-position: -200px 0;
+}
+@media (max-width: 900px) {
+  .tsd-select .tsd-select-list {
+    top: 0;
+    left: auto;
+    right: 100%;
+    margin-right: -5px;
+  }
+  .tsd-select .tsd-select-label:before {
+    background-position: -280px 0;
+  }
+}
+
+img {
+  max-width: 100%;
+}</style>
+</head>
+<body>
+<header>
+	<div class="tsd-page-toolbar">
+		<div class="container">
+			<div class="table-wrap">
+				<div class="table-cell">
+					<strong><a href="../index.html">@mathcoach/ide-api</a></strong>
+				</div>
+				<div class="table-cell" id="tsd-widgets">
+					<div id="tsd-filter">
+						<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
+						<div class="tsd-filter-group">
+							<div class="tsd-select" id="tsd-filter-visibility">
+								<span class="tsd-select-label">All</span>
+								<ul class="tsd-select-list">
+									<li data-value="public">Public</li>
+									<li data-value="protected">Public/Protected</li>
+									<li data-value="private" class="selected">All</li>
+								</ul>
+							</div>
+							<input type="checkbox" id="tsd-filter-inherited" checked />
+							<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
+							<input type="checkbox" id="tsd-filter-only-exported" />
+							<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
+						</div>
+					</div>
+					<a href="#typedoc-main-index" class="tsd-widget menu no-caption">Menu</a>
+				</div>
+			</div>
+		</div>
+	</div>
+</header>
+<nav class="tsd-navigation secondary">
+	<ul>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="../interfaces/mathcoach.api.html" class="tsd-kind-icon">Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="../interfaces/mathcoach.file.html" class="tsd-kind-icon">File</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="../interfaces/mathcoach.filesystemapi.html" class="tsd-kind-icon">File<wbr>System<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="../interfaces/mathcoach.ideapi.html" class="tsd-kind-icon">Ide<wbr>Api</a>
+		</li>
+		<li class=" tsd-kind-interface tsd-parent-kind-namespace">
+			<a href="../interfaces/mathcoach.navigatorapi.html" class="tsd-kind-icon">Navigator<wbr>Api</a>
+		</li>
+	</ul>
+</nav>
+<div class="container container-main">
+	<div class="content-wrap">
+		<section class="tsd-panel tsd-comment">
+			<div class="tsd-comment tsd-typography">
+				<div class="lead">
+					<p>Der MathCoach-Namensraum ist die Sammelstelle für alle öffentlichen Schnittstellen.
+					Somit können auch externe Module (z.B. grafische Editoren) typsicher erstellt werden.</p>
+				</div>
+				<p>Als Einstiegspunkt dient das interface <code>MathCoach.Api</code> - eine Implementierung dieser Schnittstelle
+					wird von der IDE (siehe <code>ide-lib.js</code>) bereitgestellt und kann über die globale Variable
+				<code>MC</code> zugegriffen werden.</p>
+				<p>Beispiel:</p>
+				<pre><code>const isReady = await <span class="hljs-module-access"><span class="hljs-module"><span class="hljs-identifier">MC</span>.</span></span>ide.is<span class="hljs-constructor">Ready()</span>; <span class="hljs-comment">// true oder false</span></code></pre>
+			</div>
+		</section>
+		<section class="tsd-panel-group tsd-index-group">
+			<h2>Index</h2>
+			<section class="tsd-panel tsd-index-panel">
+				<div class="tsd-index-content">
+					<section class="tsd-index-section ">
+						<h3>Interfaces</h3>
+						<ul class="tsd-index-list">
+							<li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/mathcoach.api.html" class="tsd-kind-icon">Api</a></li>
+							<li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/mathcoach.file.html" class="tsd-kind-icon">File</a></li>
+							<li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/mathcoach.filesystemapi.html" class="tsd-kind-icon">File<wbr>System<wbr>Api</a></li>
+							<li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/mathcoach.ideapi.html" class="tsd-kind-icon">Ide<wbr>Api</a></li>
+							<li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/mathcoach.navigatorapi.html" class="tsd-kind-icon">Navigator<wbr>Api</a></li>
+						</ul>
+					</section>
+				</div>
+			</section>
+		</section>
+		<footer>
+			<div class="container">
+				<h2>Legend</h2>
+				<div class="tsd-legend-group">
+				</div>
+			</div>
+		</footer>
+	</div>
+</div>
+<script type="text/javascript">
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";function x(e){return null!=e&&e===e.window}var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e)||(t=r(e))&&("function"!=typeof(n=v.call(t,"constructor")&&t.constructor)||a.call(n)!==l))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!=a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){function ne(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(65536+r):String.fromCharCode(r>>10|55296,1023&r|56320)}function oe(){T()}var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){for((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;o--;)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){for(var n,r=a([],e.length,o),i=r.length;i--;)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if(void 0!==t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"!==e)return o;for(;n=o[i++];)1===n.nodeType&&r.push(n);return r},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!=m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){for(;l;){for(a=e;a=a[l];)if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){for(d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];a=++s&&a&&a[l]||(d=s=0)||u.pop();)if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)for(;(a=++s&&a&&a[l]||(d=s=0)||u.pop())&&((x?a.nodeName.toLowerCase()!==f:1!==a.nodeType)||!++d||(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a!==e)););return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){for(var n,r=a(e,o),i=r.length;i--;)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){for(var i,o=s(e,null,r,[]),a=e.length;a--;)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){for(;e=e[u];)if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){for(;e=e[u];)if((1===e.nodeType||f)&&s(e,t,n))return!0}else for(;e=e[u];)if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){for(var r=i.length;r--;)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v)for(i=Te(p,u),v(i,[],n,r),o=i.length;o--;)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a));if(e){if(y||d){if(y){for(i=[],o=p.length;o--;)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}for(o=p.length;o--;)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r&&!b.relative[e[n].type];n++);return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);for(a=e,s=[],u=b.preFilter;a;){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){for(t||(t=h(e)),n=t.length;n--;)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){for(a=0,t||o.ownerDocument===C||(T(o),n=!E);s=v[a++];)if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){for(a=0;s=y[a++];)s(c,f,t,n);if(e){if(0<u)for(;l--;)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=G.needsContext.test(e)?0:o.length;i--&&(a=o[i],!b.relative[s=a.type]);)if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;function T(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r}function S(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}var N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"!=typeof e)return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this);if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return void 0!==e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);function c(){for(a=a||r.once,o=i=!0;u.length;l=-1)for(t=u.shift();++l<s.length;)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1);r.memory||(t=!1),i=!1,a&&(s=t?[]:"")}var i,t,o,a,s=[],u=[],l=-1,f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){for(var n;-1<(n=k.inArray(t,s,n));)s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},catch:function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){function a(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}}var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred();if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();for(;t--;)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e).catch(function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(t=a?(t.call(e,r),null):(l=t,function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}function G(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;for(;n--;)delete r[t[n]]}void 0!==t&&!k.isEmptyObject(r)||(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0!==n)return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0);if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){for(t=a.length;t--;)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){function s(){--r||i.resolveWith(o,[o])}var n,r=1,i=k.Deferred(),o=this,a=this.length;for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});function se(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")}function ue(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i}function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n)for(c=0;o=a[c++];)he.test(o.type||"")&&n.push(o);return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return void 0!==k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;l--;)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(R)||[""]).length;l--;)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){for(a=k.event.handlers.call(this,s,l),t=0;(i=a[t++])&&!s.isPropagationStopped();)for(s.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!s.isImmediatePropagationStopped();)s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"!=typeof e)return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)});for(i in e)this.off(i,t,e[i]);return this}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],"input"===(l=(u=a[r]).nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){return k.cssProps[e]||Ve[e]||(e in Xe?e:Ve[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;n--;)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){for(var n,r=0,i=(e=m(e)?(t=e,["*"]):e.match(R)).length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){function a(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)}var i=k.isEmptyObject(t),o=k.speed(e,n,r);return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){function a(e){var t=e.stop;delete e.stop,t(o)}return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)for(;n=this[u++];)if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){for(a=0;o=e[a++];)for(;-1<r.indexOf(" "+o+" ");)r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"==o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a)for(t=0,n=k(this),r=bt(i);e=r[t++];)n.hasClass(e)?n.removeClass(e):n.addClass(e);else void 0!==i&&"boolean"!=o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=k.makeArray(t),a=i.length;a--;)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;function Ct(e){e.stopPropagation()}var Tt=/^(?:focusinfocus|focusoutblur)$/;k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}for(i=0;(o=p[i++])&&!e.isPropagationStopped();)f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){function i(e){k.event.simulate(r,e.target,k.event.fix(e))}k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){function i(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}var n,r=[];if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))for(;n=i[r++];)"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n)for(n={};t=Pt.exec(p);)n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),i=("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,r.left):(a=parseFloat(o)||0,parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===k.css(e,"position");)e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k}),function(){function f(){}var n="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global||this||{},r=n._,e=Array.prototype,o=Object.prototype,s="undefined"!=typeof Symbol?Symbol.prototype:null,u=e.push,c=e.slice,p=o.toString,i=o.hasOwnProperty,t=Array.isArray,a=Object.keys,l=Object.create,h=function(n){return n instanceof h?n:this instanceof h?void(this._wrapped=n):new h(n)};"undefined"==typeof exports||exports.nodeType?n._=h:("undefined"!=typeof module&&!module.nodeType&&module.exports&&(exports=module.exports=h),exports._=h),h.VERSION="1.9.2";function y(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 3:return function(n,r,t){return u.call(i,n,r,t)};case 4:return function(n,r,t,e){return u.call(i,n,r,t,e)}}return function(){return u.apply(i,arguments)}}function d(n,r,t){return h.iteratee!==v?h.iteratee(n,r):null==n?h.identity:h.isFunction(n)?y(n,r,t):h.isObject(n)&&!h.isArray(n)?h.matcher(n):h.property(n)}var v;h.iteratee=v=function(n,r){return d(n,r,1/0)};function g(u,i){return i=null==i?u.length-1:+i,function(){for(var n=Math.max(arguments.length-i,0),r=Array(n),t=0;t<n;t++)r[t]=arguments[t+i];switch(i){case 0:return u.call(this,r);case 1:return u.call(this,arguments[0],r);case 2:return u.call(this,arguments[0],arguments[1],r)}var e=Array(i+1);for(t=0;t<i;t++)e[t]=arguments[t];return e[i]=r,u.apply(this,e)}}function m(n){if(!h.isObject(n))return{};if(l)return l(n);f.prototype=n;var r=new f;return f.prototype=null,r}function b(r){return function(n){return null==n?void 0:n[r]}}function j(n,r){return null!=n&&i.call(n,r)}function x(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r[e]]}return t?n:void 0}function w(n){var r=A(n);return"number"==typeof r&&0<=r&&r<=_}var _=Math.pow(2,53)-1,A=b("length");h.each=h.forEach=function(n,r,t){var e,u;if(r=y(r,t),w(n))for(e=0,u=n.length;e<u;e++)r(n[e],e,n);else{var i=h.keys(n);for(e=0,u=i.length;e<u;e++)r(n[i[e]],i[e],n)}return n},h.map=h.collect=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var a=e?e[o]:o;i[o]=r(n[a],a,n)}return i};function O(c){return function(n,r,t,e){var u=3<=arguments.length;return function(n,r,t,e){var u=!w(n)&&h.keys(n),i=(u||n).length,o=0<c?0:i-1;for(e||(t=n[u?u[o]:o],o+=c);0<=o&&o<i;o+=c){var a=u?u[o]:o;t=r(t,n[a],a,n)}return t}(n,y(r,e,4),t,u)}}h.reduce=h.foldl=h.inject=O(1),h.reduceRight=h.foldr=O(-1),h.find=h.detect=function(n,r,t){var e=(w(n)?h.findIndex:h.findKey)(n,r,t);if(void 0!==e&&-1!==e)return n[e]},h.filter=h.select=function(n,e,r){var u=[];return e=d(e,r),h.each(n,function(n,r,t){e(n,r,t)&&u.push(n)}),u},h.reject=function(n,r,t){return h.filter(n,h.negate(d(r)),t)},h.every=h.all=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!r(n[o],o,n))return!1}return!0},h.some=h.any=function(n,r,t){r=d(r,t);for(var e=!w(n)&&h.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(r(n[o],o,n))return!0}return!1},h.contains=h.includes=h.include=function(n,r,t,e){return w(n)||(n=h.values(n)),"number"==typeof t&&!e||(t=0),0<=h.indexOf(n,r,t)},h.invoke=g(function(n,t,e){var u,i;return h.isFunction(t)?i=t:h.isArray(t)&&(u=t.slice(0,-1),t=t[t.length-1]),h.map(n,function(n){var r=i;if(!r){if(u&&u.length&&(n=x(n,u)),null==n)return;r=n[t]}return null==r?r:r.apply(n,e)})}),h.pluck=function(n,r){return h.map(n,h.property(r))},h.where=function(n,r){return h.filter(n,h.matcher(r))},h.findWhere=function(n,r){return h.find(n,h.matcher(r))},h.max=function(n,e,r){var t,u,i=-1/0,o=-1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&i<t&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){u=e(n,r,t),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},h.min=function(n,e,r){var t,u,i=1/0,o=1/0;if(null==e||"number"==typeof e&&"object"!=typeof n[0]&&null!=n)for(var a=0,c=(n=w(n)?n:h.values(n)).length;a<c;a++)null!=(t=n[a])&&t<i&&(i=t);else e=d(e,r),h.each(n,function(n,r,t){((u=e(n,r,t))<o||u===1/0&&i===1/0)&&(i=n,o=u)});return i},h.shuffle=function(n){return h.sample(n,1/0)},h.sample=function(n,r,t){if(null==r||t)return w(n)||(n=h.values(n)),n[h.random(n.length-1)];var e=w(n)?h.clone(n):h.values(n),u=A(e);r=Math.max(Math.min(r,u),0);for(var i=u-1,o=0;o<r;o++){var a=h.random(o,i),c=e[o];e[o]=e[a],e[a]=c}return e.slice(0,r)},h.sortBy=function(n,e,r){var u=0;return e=d(e,r),h.pluck(h.map(n,function(n,r,t){return{value:n,index:u++,criteria:e(n,r,t)}}).sort(function(n,r){var t=n.criteria,e=r.criteria;if(t!==e){if(e<t||void 0===t)return 1;if(t<e||void 0===e)return-1}return n.index-r.index}),"value")};function k(o,r){return function(e,u,n){var i=r?[[],[]]:{};return u=d(u,n),h.each(e,function(n,r){var t=u(n,r,e);o(i,n,t)}),i}}h.groupBy=k(function(n,r,t){j(n,t)?n[t].push(r):n[t]=[r]}),h.indexBy=k(function(n,r,t){n[t]=r}),h.countBy=k(function(n,r,t){j(n,t)?n[t]++:n[t]=1});var S=/[^\ud800-\udfff]|[\ud800-\udbff][\udc00-\udfff]|[\ud800-\udfff]/g;h.toArray=function(n){return n?h.isArray(n)?c.call(n):h.isString(n)?n.match(S):w(n)?h.map(n,h.identity):h.values(n):[]},h.size=function(n){return null==n?0:w(n)?n.length:h.keys(n).length},h.partition=k(function(n,r,t){n[t?0:1].push(r)},!0),h.first=h.head=h.take=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[0]:h.initial(n,n.length-r)},h.initial=function(n,r,t){return c.call(n,0,Math.max(0,n.length-(null==r||t?1:r)))},h.last=function(n,r,t){return null==n||n.length<1?null==r?void 0:[]:null==r||t?n[n.length-1]:h.rest(n,Math.max(0,n.length-r))},h.rest=h.tail=h.drop=function(n,r,t){return c.call(n,null==r||t?1:r)},h.compact=function(n){return h.filter(n,Boolean)};var M=function(n,r,t,e){for(var u=(e=e||[]).length,i=0,o=A(n);i<o;i++){var a=n[i];if(w(a)&&(h.isArray(a)||h.isArguments(a)))if(r)for(var c=0,l=a.length;c<l;)e[u++]=a[c++];else M(a,r,t,e),u=e.length;else t||(e[u++]=a)}return e};h.flatten=function(n,r){return M(n,r,!1)},h.without=g(function(n,r){return h.difference(n,r)}),h.uniq=h.unique=function(n,r,t,e){h.isBoolean(r)||(e=t,t=r,r=!1),null!=t&&(t=d(t,e));for(var u=[],i=[],o=0,a=A(n);o<a;o++){var c=n[o],l=t?t(c,o,n):c;r&&!t?(o&&i===l||u.push(c),i=l):t?h.contains(i,l)||(i.push(l),u.push(c)):h.contains(u,c)||u.push(c)}return u},h.union=g(function(n){return h.uniq(M(n,!0,!0))}),h.intersection=function(n){for(var r=[],t=arguments.length,e=0,u=A(n);e<u;e++){var i=n[e];if(!h.contains(r,i)){var o;for(o=1;o<t&&h.contains(arguments[o],i);o++);o===t&&r.push(i)}}return r},h.difference=g(function(n,r){return r=M(r,!0,!0),h.filter(n,function(n){return!h.contains(r,n)})}),h.unzip=function(n){for(var r=n&&h.max(n,A).length||0,t=Array(r),e=0;e<r;e++)t[e]=h.pluck(n,e);return t},h.zip=g(h.unzip),h.object=function(n,r){for(var t={},e=0,u=A(n);e<u;e++)r?t[n[e]]=r[e]:t[n[e][0]]=n[e][1];return t};function F(i){return function(n,r,t){r=d(r,t);for(var e=A(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(r(n[u],u,n))return u;return-1}}h.findIndex=F(1),h.findLastIndex=F(-1),h.sortedIndex=function(n,r,t,e){for(var u=(t=d(t,e,1))(r),i=0,o=A(n);i<o;){var a=Math.floor((i+o)/2);t(n[a])<u?i=a+1:o=a}return i};function E(i,o,a){return function(n,r,t){var e=0,u=A(n);if("number"==typeof t)0<i?e=0<=t?t:Math.max(t+u,e):u=0<=t?Math.min(t+1,u):t+u+1;else if(a&&t&&u)return n[t=a(n,r)]===r?t:-1;if(r!=r)return 0<=(t=o(c.call(n,e,u),h.isNaN))?t+e:-1;for(t=0<i?e:u-1;0<=t&&t<u;t+=i)if(n[t]===r)return t;return-1}}h.indexOf=E(1,h.findIndex,h.sortedIndex),h.lastIndexOf=E(-1,h.findLastIndex),h.range=function(n,r,t){null==r&&(r=n||0,n=0),t||(t=r<n?-1:1);for(var e=Math.max(Math.ceil((r-n)/t),0),u=Array(e),i=0;i<e;i++,n+=t)u[i]=n;return u},h.chunk=function(n,r){if(null==r||r<1)return[];for(var t=[],e=0,u=n.length;e<u;)t.push(c.call(n,e,e+=r));return t};function N(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=m(n.prototype),o=n.apply(i,u);return h.isObject(o)?o:i}h.bind=g(function(r,t,e){if(!h.isFunction(r))throw new TypeError("Bind must be called on a function");var u=g(function(n){return N(r,u,t,this,e.concat(n))});return u}),h.partial=g(function(u,i){var o=h.partial.placeholder,a=function(){for(var n=0,r=i.length,t=Array(r),e=0;e<r;e++)t[e]=i[e]===o?arguments[n++]:i[e];for(;n<arguments.length;)t.push(arguments[n++]);return N(u,a,this,this,t)};return a}),(h.partial.placeholder=h).bindAll=g(function(n,r){var t=(r=M(r,!1,!1)).length;if(t<1)throw new Error("bindAll must be passed function names");for(;t--;){var e=r[t];n[e]=h.bind(n[e],n)}}),h.memoize=function(e,u){var i=function(n){var r=i.cache,t=""+(u?u.apply(this,arguments):n);return j(r,t)||(r[t]=e.apply(this,arguments)),r[t]};return i.cache={},i},h.delay=g(function(n,r,t){return setTimeout(function(){return n.apply(null,t)},r)}),h.defer=h.partial(h.delay,h,1),h.throttle=function(t,e,u){var i,o,a,c,l=0;u||(u={});function f(){l=!1===u.leading?0:h.now(),i=null,c=t.apply(o,a),i||(o=a=null)}var n=function(){var n=h.now();l||!1!==u.leading||(l=n);var r=e-(n-l);return o=this,a=arguments,r<=0||e<r?(i&&(clearTimeout(i),i=null),l=n,c=t.apply(o,a),i||(o=a=null)):i||!1===u.trailing||(i=setTimeout(f,r)),c};return n.cancel=function(){clearTimeout(i),l=0,i=o=a=null},n},h.debounce=function(t,e,u){function a(n,r){i=null,r&&(o=t.apply(n,r))}var i,o,n=g(function(n){if(i&&clearTimeout(i),u){var r=!i;i=setTimeout(a,e),r&&(o=t.apply(this,n))}else i=h.delay(a,e,this,n);return o});return n.cancel=function(){clearTimeout(i),i=null},n},h.wrap=function(n,r){return h.partial(r,n)},h.negate=function(n){return function(){return!n.apply(this,arguments)}},h.compose=function(){var t=arguments,e=t.length-1;return function(){for(var n=e,r=t[e].apply(this,arguments);n--;)r=t[n].call(this,r);return r}},h.after=function(n,r){return function(){if(--n<1)return r.apply(this,arguments)}},h.before=function(n,r){var t;return function(){return 0<--n&&(t=r.apply(this,arguments)),n<=1&&(r=null),t}},h.once=h.partial(h.before,2),h.restArguments=g;function B(n,r){var t=T.length,e=n.constructor,u=h.isFunction(e)&&e.prototype||o,i="constructor";for(j(n,i)&&!h.contains(r,i)&&r.push(i);t--;)(i=T[t])in n&&n[i]!==u[i]&&!h.contains(r,i)&&r.push(i)}var I=!{toString:null}.propertyIsEnumerable("toString"),T=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"];h.keys=function(n){if(!h.isObject(n))return[];if(a)return a(n);var r=[];for(var t in n)j(n,t)&&r.push(t);return I&&B(n,r),r},h.allKeys=function(n){if(!h.isObject(n))return[];var r=[];for(var t in n)r.push(t);return I&&B(n,r),r},h.values=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[r[u]];return e},h.mapObject=function(n,r,t){r=d(r,t);for(var e=h.keys(n),u=e.length,i={},o=0;o<u;o++){var a=e[o];i[a]=r(n[a],a,n)}return i},h.pairs=function(n){for(var r=h.keys(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=[r[u],n[r[u]]];return e},h.invert=function(n){for(var r={},t=h.keys(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[e];return r},h.functions=h.methods=function(n){var r=[];for(var t in n)h.isFunction(n[t])&&r.push(t);return r.sort()};function R(c,l){return function(n){var r=arguments.length;if(l&&(n=Object(n)),r<2||null==n)return n;for(var t=1;t<r;t++)for(var e=arguments[t],u=c(e),i=u.length,o=0;o<i;o++){var a=u[o];l&&void 0!==n[a]||(n[a]=e[a])}return n}}h.extend=R(h.allKeys),h.extendOwn=h.assign=R(h.keys),h.findKey=function(n,r,t){r=d(r,t);for(var e,u=h.keys(n),i=0,o=u.length;i<o;i++)if(r(n[e=u[i]],e,n))return e};function z(n,r,t){return r in t}var q,K;h.pick=g(function(n,r){var t={},e=r[0];if(null==n)return t;h.isFunction(e)?(1<r.length&&(e=y(e,r[1])),r=h.allKeys(n)):(e=z,r=M(r,!1,!1),n=Object(n));for(var u=0,i=r.length;u<i;u++){var o=r[u],a=n[o];e(a,o,n)&&(t[o]=a)}return t}),h.omit=g(function(n,t){var r,e=t[0];return h.isFunction(e)?(e=h.negate(e),1<t.length&&(r=t[1])):(t=h.map(M(t,!1,!1),String),e=function(n,r){return!h.contains(t,r)}),h.pick(n,e,r)}),h.defaults=R(h.allKeys,!0),h.create=function(n,r){var t=m(n);return r&&h.extendOwn(t,r),t},h.clone=function(n){return h.isObject(n)?h.isArray(n)?n.slice():h.extend({},n):n},h.tap=function(n,r){return r(n),n},h.isMatch=function(n,r){var t=h.keys(r),e=t.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=t[i];if(r[o]!==u[o]||!(o in u))return!1}return!0},q=function(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(null==n||null==r)return!1;if(n!=n)return r!=r;var u=typeof n;return("function"==u||"object"==u||"object"==typeof r)&&K(n,r,t,e)},K=function(n,r,t,e){n instanceof h&&(n=n._wrapped),r instanceof h&&(r=r._wrapped);var u=p.call(n);if(u!==p.call(r))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+r;case"[object Number]":return+n!=+n?+r!=+r:0==+n?1/+n==1/r:+n==+r;case"[object Date]":case"[object Boolean]":return+n==+r;case"[object Symbol]":return s.valueOf.call(n)===s.valueOf.call(r)}var i="[object Array]"===u;if(!i){if("object"!=typeof n||"object"!=typeof r)return!1;var o=n.constructor,a=r.constructor;if(o!==a&&!(h.isFunction(o)&&o instanceof o&&h.isFunction(a)&&a instanceof a)&&"constructor"in n&&"constructor"in r)return!1}e=e||[];for(var c=(t=t||[]).length;c--;)if(t[c]===n)return e[c]===r;if(t.push(n),e.push(r),i){if((c=n.length)!==r.length)return!1;for(;c--;)if(!q(n[c],r[c],t,e))return!1}else{var l,f=h.keys(n);if(c=f.length,h.keys(r).length!==c)return!1;for(;c--;)if(l=f[c],!j(r,l)||!q(n[l],r[l],t,e))return!1}return t.pop(),e.pop(),!0},h.isEqual=function(n,r){return q(n,r)},h.isEmpty=function(n){return null==n||(w(n)&&(h.isArray(n)||h.isString(n)||h.isArguments(n))?0===n.length:0===h.keys(n).length)},h.isElement=function(n){return!(!n||1!==n.nodeType)},h.isArray=t||function(n){return"[object Array]"===p.call(n)},h.isObject=function(n){var r=typeof n;return"function"==r||"object"==r&&!!n},h.each(["Arguments","Function","String","Number","Date","RegExp","Error","Symbol","Map","WeakMap","Set","WeakSet"],function(r){h["is"+r]=function(n){return p.call(n)==="[object "+r+"]"}}),h.isArguments(arguments)||(h.isArguments=function(n){return j(n,"callee")});var D=n.document&&n.document.childNodes;"function"!=typeof/./&&"object"!=typeof Int8Array&&"function"!=typeof D&&(h.isFunction=function(n){return"function"==typeof n||!1}),h.isFinite=function(n){return!h.isSymbol(n)&&isFinite(n)&&!isNaN(parseFloat(n))},h.isNaN=function(n){return h.isNumber(n)&&isNaN(n)},h.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===p.call(n)},h.isNull=function(n){return null===n},h.isUndefined=function(n){return void 0===n},h.has=function(n,r){if(!h.isArray(r))return j(n,r);for(var t=r.length,e=0;e<t;e++){var u=r[e];if(null==n||!i.call(n,u))return!1;n=n[u]}return!!t},h.noConflict=function(){return n._=r,this},h.identity=function(n){return n},h.constant=function(n){return function(){return n}},h.noop=function(){},h.property=function(r){return h.isArray(r)?function(n){return x(n,r)}:b(r)},h.propertyOf=function(r){return null==r?function(){}:function(n){return h.isArray(n)?x(r,n):r[n]}},h.matcher=h.matches=function(r){return r=h.extendOwn({},r),function(n){return h.isMatch(n,r)}},h.times=function(n,r,t){var e=Array(Math.max(0,n));r=y(r,t,1);for(var u=0;u<n;u++)e[u]=r(u);return e},h.random=function(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r-n+1))},h.now=Date.now||function(){return(new Date).getTime()};function W(r){function t(n){return r[n]}var n="(?:"+h.keys(r).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return n=null==n?"":""+n,e.test(n)?n.replace(u,t):n}}var L={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},P=h.invert(L);h.escape=W(L),h.unescape=W(P),h.result=function(n,r,t){h.isArray(r)||(r=[r]);var e=r.length;if(!e)return h.isFunction(t)?t.call(n):t;for(var u=0;u<e;u++){var i=null==n?void 0:n[r[u]];void 0===i&&(i=t,u=e),n=h.isFunction(i)?i.call(n):i}return n};var C=0;h.uniqueId=function(n){var r=++C+"";return n?n+r:r},h.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};function $(n){return"\\"+U[n]}var J=/(.)^/,U={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},V=/\\|'|\r|\n|\u2028|\u2029/g;h.template=function(i,n,r){!n&&r&&(n=r),n=h.defaults({},n,h.templateSettings);var t,e=RegExp([(n.escape||J).source,(n.interpolate||J).source,(n.evaluate||J).source].join("|")+"|$","g"),o=0,a="__p+='";i.replace(e,function(n,r,t,e,u){return a+=i.slice(o,u).replace(V,$),o=u+n.length,r?a+="'+\n((__t=("+r+"))==null?'':_.escape(__t))+\n'":t?a+="'+\n((__t=("+t+"))==null?'':__t)+\n'":e&&(a+="';\n"+e+"\n__p+='"),n}),a+="';\n",n.variable||(a="with(obj||{}){\n"+a+"}\n"),a="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+a+"return __p;\n";try{t=new Function(n.variable||"obj","_",a)}catch(n){throw n.source=a,n}function u(n){return t.call(this,n,h)}var c=n.variable||"obj";return u.source="function("+c+"){\n"+a+"}",u},h.chain=function(n){var r=h(n);return r._chain=!0,r};function G(n,r){return n._chain?h(r).chain():r}h.mixin=function(t){return h.each(h.functions(t),function(n){var r=h[n]=t[n];h.prototype[n]=function(){var n=[this._wrapped];return u.apply(n,arguments),G(this,r.apply(h,n))}}),h},h.mixin(h),h.each(["pop","push","reverse","shift","sort","splice","unshift"],function(r){var t=e[r];h.prototype[r]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==r&&"splice"!==r||0!==n.length||delete n[0],G(this,n)}}),h.each(["concat","join","slice"],function(n){var r=e[n];h.prototype[n]=function(){return G(this,r.apply(this._wrapped,arguments))}}),h.prototype.value=function(){return this._wrapped},h.prototype.valueOf=h.prototype.toJSON=h.prototype.value,h.prototype.toString=function(){return String(this._wrapped)},"function"==typeof define&&define.amd&&define("underscore",[],function(){return h})}(),function(t){var e="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;if("function"==typeof define&&define.amd)define(["underscore","jquery","exports"],function(i,n,r){e.Backbone=t(e,r,i,n)});else if("undefined"!=typeof exports){var n,i=require("underscore");try{n=require("jquery")}catch(r){}t(e,exports,i,n)}else e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}(function(t,e,i,n){var r=t.Backbone,s=Array.prototype.slice;e.VERSION="1.4.0",e.$=n,e.noConflict=function(){return t.Backbone=r,this},e.emulateHTTP=!1,e.emulateJSON=!1;var h,a=e.Events={},o=/\s+/,u=function(t,e,n,r,s){var h,a=0;if(n&&"object"==typeof n){void 0!==r&&"context"in s&&void 0===s.context&&(s.context=r);for(h=i.keys(n);a<h.length;a++)e=u(t,e,h[a],n[h[a]],s)}else if(n&&o.test(n))for(h=n.split(o);a<h.length;a++)e=t(e,h[a],r,s);else e=t(e,n,r,s);return e};a.on=function(t,e,i){this._events=u(l,this._events||{},t,e,{context:i,ctx:this,listening:h}),h&&(((this._listeners||(this._listeners={}))[h.id]=h).interop=!1);return this},a.listenTo=function(t,e,n){if(!t)return this;var r=t._listenId||(t._listenId=i.uniqueId("l")),s=this._listeningTo||(this._listeningTo={}),a=h=s[r];a||(this._listenId||(this._listenId=i.uniqueId("l")),a=h=s[r]=new g(this,t));var o=c(t,e,n,this);if(h=void 0,o)throw o;return a.interop&&a.on(e,n),this};var l=function(t,e,i,n){if(i){var r=t[e]||(t[e]=[]),s=n.context,a=n.ctx,o=n.listening;o&&o.count++,r.push({callback:i,context:s,ctx:s||a,listening:o})}return t},c=function(t,e,i,n){try{t.on(e,i,n)}catch(r){return r}};a.off=function(t,e,i){return this._events&&(this._events=u(f,this._events,t,e,{context:i,listeners:this._listeners})),this},a.stopListening=function(t,e,n){var r=this._listeningTo;if(!r)return this;for(var s=t?[t._listenId]:i.keys(r),a=0;a<s.length;a++){var o=r[s[a]];if(!o)break;o.obj.off(e,n,this),o.interop&&o.off(e,n)}return i.isEmpty(r)&&(this._listeningTo=void 0),this};var f=function(t,e,n,r){if(t){var h,s=r.context,a=r.listeners,o=0;if(e||s||n){for(h=e?[e]:i.keys(t);o<h.length;o++){var u=t[e=h[o]];if(!u)break;for(var l=[],c=0;c<u.length;c++){var f=u[c];if(n&&n!==f.callback&&n!==f.callback._callback||s&&s!==f.context)l.push(f);else{var d=f.listening;d&&d.off(e,n)}}l.length?t[e]=l:delete t[e]}return t}for(h=i.keys(a);o<h.length;o++)a[h[o]].cleanup()}};a.once=function(t,e,i){var n=u(d,{},t,e,this.off.bind(this));return"string"==typeof t&&null==i&&(e=void 0),this.on(n,e,i)},a.listenToOnce=function(t,e,i){var n=u(d,{},e,i,this.stopListening.bind(this,t));return this.listenTo(t,n)};var d=function(t,e,n,r){if(n){var s=t[e]=i.once(function(){r(e,s),n.apply(this,arguments)});s._callback=n}return t};a.trigger=function(t){if(!this._events)return this;for(var e=Math.max(0,arguments.length-1),i=Array(e),n=0;n<e;n++)i[n]=arguments[n+1];return u(v,this._events,t,void 0,i),this};var v=function(t,e,i,n){if(t){var r=t[e],s=t.all;r&&s&&(s=s.slice()),r&&p(r,n),s&&p(s,[e].concat(n))}return t},p=function(t,e){var i,n=-1,r=t.length,s=e[0],a=e[1],o=e[2];switch(e.length){case 0:for(;++n<r;)(i=t[n]).callback.call(i.ctx);return;case 1:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s);return;case 2:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a);return;case 3:for(;++n<r;)(i=t[n]).callback.call(i.ctx,s,a,o);return;default:for(;++n<r;)(i=t[n]).callback.apply(i.ctx,e);return}},g=function(t,e){this.id=t._listenId,this.listener=t,this.obj=e,this.interop=!0,this.count=0,this._events=void 0};g.prototype.on=a.on,g.prototype.off=function(t,e){(this.interop?(this._events=u(f,this._events,t,e,{context:void 0,listeners:void 0}),this._events):(this.count--,0!==this.count))||this.cleanup()},g.prototype.cleanup=function(){delete this.listener._listeningTo[this.obj._listenId],this.interop||delete this.obj._listeners[this.id]},a.bind=a.on,a.unbind=a.off,i.extend(e,a);var m=e.Model=function(t,e){var n=t||{};e||(e={}),this.preinitialize.apply(this,arguments),this.cid=i.uniqueId(this.cidPrefix),this.attributes={},e.collection&&(this.collection=e.collection),e.parse&&(n=this.parse(n,e)||{});var r=i.result(this,"defaults");n=i.defaults(i.extend({},r,n),r),this.set(n,e),this.changed={},this.initialize.apply(this,arguments)};i.extend(m.prototype,a,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",preinitialize:function(){},initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return null!=this.get(t)},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,n){if(null==t)return this;var r;if("object"==typeof t?(r=t,n=e):(r={})[t]=e,n||(n={}),!this._validate(r,n))return!1;var s=n.unset,a=n.silent,o=[],h=this._changing;this._changing=!0,h||(this._previousAttributes=i.clone(this.attributes),this.changed={});var u=this.attributes,l=this.changed,c=this._previousAttributes;for(var f in r)e=r[f],i.isEqual(u[f],e)||o.push(f),i.isEqual(c[f],e)?delete l[f]:l[f]=e,s?delete u[f]:u[f]=e;if(this.idAttribute in r&&(this.id=this.get(this.idAttribute)),!a){o.length&&(this._pending=n);for(var d=0;d<o.length;d++)this.trigger("change:"+o[d],this,u[o[d]],n)}if(h)return this;if(!a)for(;this._pending;)n=this._pending,this._pending=!1,this.trigger("change",this,n);return this._pending=!1,this._changing=!1,this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:!0}))},clear:function(t){var e={};for(var n in this.attributes)e[n]=void 0;return this.set(e,i.extend({},t,{unset:!0}))},hasChanged:function(t){return null==t?!i.isEmpty(this.changed):i.has(this.changed,t)},changedAttributes:function(t){if(!t)return!!this.hasChanged()&&i.clone(this.changed);var r,e=this._changing?this._previousAttributes:this.attributes,n={};for(var s in t){var a=t[s];i.isEqual(e[s],a)||(n[s]=a,r=!0)}return!!r&&n},previous:function(t){return null!=t&&this._previousAttributes?this._previousAttributes[t]:null},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:!0},t);var e=this,n=t.success;return t.success=function(i){var r=t.parse?e.parse(i,t):i;if(!e.set(r,t))return!1;n&&n.call(t.context,e,i,t),e.trigger("sync",e,i,t)},G(this,t),this.sync("read",this,t)},save:function(t,e,n){var r;null==t||"object"==typeof t?(r=t,n=e):(r={})[t]=e;var s=(n=i.extend({validate:!0,parse:!0},n)).wait;if(r&&!s){if(!this.set(r,n))return!1}else if(!this._validate(r,n))return!1;var a=this,o=n.success,h=this.attributes;n.success=function(t){a.attributes=h;var e=n.parse?a.parse(t,n):t;if(s&&(e=i.extend({},r,e)),e&&!a.set(e,n))return!1;o&&o.call(n.context,a,t,n),a.trigger("sync",a,t,n)},G(this,n),r&&s&&(this.attributes=i.extend({},h,r));var u=this.isNew()?"create":n.patch?"patch":"update";"patch"!=u||n.attrs||(n.attrs=r);var l=this.sync(u,this,n);return this.attributes=h,l},destroy:function(t){t=t?i.clone(t):{};function s(){e.stopListening(),e.trigger("destroy",e,e.collection,t)}var e=this,n=t.success,r=t.wait,a=!(t.success=function(i){r&&s(),n&&n.call(t.context,e,i,t),e.isNew()||e.trigger("sync",e,i,t)});return this.isNew()?i.defer(t.success):(G(this,t),a=this.sync("delete",this,t)),r||s(),a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||V();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.extend({},t,{validate:!0}))},_validate:function(t,e){if(!e.validate||!this.validate)return!0;t=i.extend({},this.attributes,t);var n=this.validationError=this.validate(t,e)||null;return!n||(this.trigger("invalid",this,n,i.extend(e,{validationError:n})),!1)}});function x(t,e,i){i=Math.min(Math.max(i,0),t.length);var s,n=Array(t.length-i),r=e.length;for(s=0;s<n.length;s++)n[s]=t[s+i];for(s=0;s<r;s++)t[s+i]=e[s];for(s=0;s<n.length;s++)t[s+r+i]=n[s]}var _=e.Collection=function(t,e){e||(e={}),this.preinitialize.apply(this,arguments),e.model&&(this.model=e.model),void 0!==e.comparator&&(this.comparator=e.comparator),this._reset(),this.initialize.apply(this,arguments),t&&this.reset(t,i.extend({silent:!0},e))},y={add:!0,remove:!0,merge:!0},b={add:!0,remove:!1};i.extend(_.prototype,a,{model:m,preinitialize:function(){},initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:!1},e,b))},remove:function(t,e){e=i.extend({},e);var n=!i.isArray(t);t=n?[t]:t.slice();var r=this._removeModels(t,e);return!e.silent&&r.length&&(e.changes={added:[],merged:[],removed:r},this.trigger("update",this,e)),n?r[0]:r},set:function(t,e){if(null!=t){(e=i.extend({},y,e)).parse&&!this._isModel(t)&&(t=this.parse(t,e)||[]);var n=!i.isArray(t);t=n?[t]:t.slice();var r=e.at;null!=r&&(r=+r),r>this.length&&(r=this.length),r<0&&(r+=this.length+1);var g,m,s=[],a=[],o=[],h=[],u={},l=e.add,c=e.merge,f=e.remove,d=!1,v=this.comparator&&null==r&&!1!==e.sort,p=i.isString(this.comparator)?this.comparator:null;for(m=0;m<t.length;m++){g=t[m];var _=this.get(g);if(_){if(c&&g!==_){var b=this._isModel(g)?g.attributes:g;e.parse&&(b=_.parse(b,e)),_.set(b,e),o.push(_),v&&!d&&(d=_.hasChanged(p))}u[_.cid]||(u[_.cid]=!0,s.push(_)),t[m]=_}else l&&(g=t[m]=this._prepareModel(g,e))&&(a.push(g),this._addReference(g,e),u[g.cid]=!0,s.push(g))}if(f){for(m=0;m<this.length;m++)u[(g=this.models[m]).cid]||h.push(g);h.length&&this._removeModels(h,e)}var w=!1,E=!v&&l&&f;if(s.length&&E?(w=this.length!==s.length||i.some(this.models,function(t,e){return t!==s[e]}),this.models.length=0,x(this.models,s,0),this.length=this.models.length):a.length&&(v&&(d=!0),x(this.models,a,null==r?this.length:r),this.length=this.models.length),d&&this.sort({silent:!0}),!e.silent){for(m=0;m<a.length;m++)null!=r&&(e.index=r+m),(g=a[m]).trigger("add",g,this,e);(d||w)&&this.trigger("sort",this,e),(a.length||h.length||o.length)&&(e.changes={added:a,removed:h,merged:o},this.trigger("update",this,e))}return n?t[0]:t}},reset:function(t,e){e=e?i.clone(e):{};for(var n=0;n<this.models.length;n++)this._removeReference(this.models[n],e);return e.previousModels=this.models,this._reset(),t=this.add(t,i.extend({silent:!0},e)),e.silent||this.trigger("reset",this,e),t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return s.apply(this.models,arguments)},get:function(t){if(null!=t)return this._byId[t]||this._byId[this.modelId(this._isModel(t)?t.attributes:t)]||t.cid&&this._byId[t.cid]},has:function(t){return null!=this.get(t)},at:function(t){return t<0&&(t+=this.length),this.models[t]},where:function(t,e){return this[e?"find":"filter"](t)},findWhere:function(t){return this.where(t,!0)},sort:function(t){var e=this.comparator;if(!e)throw new Error("Cannot sort a set without a comparator");t||(t={});var n=e.length;return i.isFunction(e)&&(e=e.bind(this)),1===n||i.isString(e)?this.models=this.sortBy(e):this.models.sort(e),t.silent||this.trigger("sort",this,t),this},pluck:function(t){return this.map(t+"")},fetch:function(t){var e=(t=i.extend({parse:!0},t)).success,n=this;return t.success=function(i){var r=t.reset?"reset":"set";n[r](i,t),e&&e.call(t.context,n,i,t),n.trigger("sync",n,i,t)},G(this,t),this.sync("read",this,t)},create:function(t,e){var n=(e=e?i.clone(e):{}).wait;if(!(t=this._prepareModel(t,e)))return!1;n||this.add(t,e);var r=this,s=e.success;return e.success=function(t,e,i){n&&r.add(t,i),s&&s.call(i.context,t,e,i)},t.save(null,e),t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},values:function(){return new E(this,k)},keys:function(){return new E(this,I)},entries:function(){return new E(this,S)},_reset:function(){this.length=0,this.models=[],this._byId={}},_prepareModel:function(t,e){if(this._isModel(t))return t.collection||(t.collection=this),t;var n=new(((e=e?i.clone(e):{}).collection=this).model)(t,e);return n.validationError?(this.trigger("invalid",this,n.validationError,e),!1):n},_removeModels:function(t,e){for(var i=[],n=0;n<t.length;n++){var r=this.get(t[n]);if(r){var s=this.indexOf(r);this.models.splice(s,1),this.length--,delete this._byId[r.cid];var a=this.modelId(r.attributes);null!=a&&delete this._byId[a],e.silent||(e.index=s,r.trigger("remove",r,this,e)),i.push(r),this._removeReference(r,e)}}return i},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);null!=i&&(this._byId[i]=t),t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);null!=i&&delete this._byId[i],this===t.collection&&delete t.collection,t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,n){if(e){if(("add"===t||"remove"===t)&&i!==this)return;if("destroy"===t&&this.remove(e,n),"change"===t){var r=this.modelId(e.previousAttributes()),s=this.modelId(e.attributes);r!==s&&(null!=r&&delete this._byId[r],null!=s&&(this._byId[s]=e))}}this.trigger.apply(this,arguments)}});var w="function"==typeof Symbol&&Symbol.iterator;w&&(_.prototype[w]=_.prototype.values);var E=function(t,e){this._collection=t,this._kind=e,this._index=0},k=1,I=2,S=3;w&&(E.prototype[w]=function(){return this}),E.prototype.next=function(){if(this._collection){if(this._index<this._collection.length){var e,t=this._collection.at(this._index);if(this._index++,this._kind===k)e=t;else{var i=this._collection.modelId(t.attributes);e=this._kind===I?i:[i,t]}return{value:e,done:!1}}this._collection=void 0}return{value:void 0,done:!0}};var T=e.View=function(t){this.cid=i.uniqueId("view"),this.preinitialize.apply(this,arguments),i.extend(this,i.pick(t,H)),this._ensureElement(),this.initialize.apply(this,arguments)},P=/^(\S+)\s*(.*)$/,H=["model","collection","el","id","attributes","className","tagName","events"];i.extend(T.prototype,a,{tagName:"div",$:function(t){return this.$el.find(t)},preinitialize:function(){},initialize:function(){},render:function(){return this},remove:function(){return this._removeElement(),this.stopListening(),this},_removeElement:function(){this.$el.remove()},setElement:function(t){return this.undelegateEvents(),this._setElement(t),this.delegateEvents(),this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t),this.el=this.$el[0]},delegateEvents:function(t){if(t||(t=i.result(this,"events")),!t)return this;for(var e in this.undelegateEvents(),t){var n=t[e];if(i.isFunction(n)||(n=this[n]),n){var r=e.match(P);this.delegate(r[1],r[2],n.bind(this))}}return this},delegate:function(t,e,i){return this.$el.on(t+".delegateEvents"+this.cid,e,i),this},undelegateEvents:function(){return this.$el&&this.$el.off(".delegateEvents"+this.cid),this},undelegate:function(t,e,i){return this.$el.off(t+".delegateEvents"+this.cid,e,i),this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(this.el)this.setElement(i.result(this,"el"));else{var t=i.extend({},i.result(this,"attributes"));this.id&&(t.id=i.result(this,"id")),this.className&&(t.class=i.result(this,"className")),this.setElement(this._createElement(i.result(this,"tagName"))),this._setAttributes(t)}},_setAttributes:function(t){this.$el.attr(t)}});function A(t,e,n,r){i.each(n,function(i,n){e[n]&&(t.prototype[n]=function(t,e,i,n){switch(e){case 1:return function(){return t[i](this[n])};case 2:return function(e){return t[i](this[n],e)};case 3:return function(e,r){return t[i](this[n],C(e,this),r)};case 4:return function(e,r,s){return t[i](this[n],C(e,this),r,s)};default:return function(){var e=s.call(arguments);return e.unshift(this[n]),t[i].apply(t,e)}}}(e,i,n,r))})}var C=function(t,e){return i.isFunction(t)?t:i.isObject(t)&&!e._isModel(t)?R(t):i.isString(t)?function(e){return e.get(t)}:t},R=function(t){var e=i.matches(t);return function(t){return e(t.attributes)}};i.each([[_,{forEach:3,each:3,map:3,collect:3,reduce:0,foldl:0,inject:0,reduceRight:0,foldr:0,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:3,includes:3,contains:3,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3,groupBy:3,countBy:3,sortBy:3,indexBy:3,findIndex:3,findLastIndex:3},"models"],[m,{keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1},"attributes"]],function(t){var e=t[0],n=t[1],r=t[2];e.mixin=function(t){var n=i.reduce(i.functions(t),function(t,e){return t[e]=0,t},{});A(e,t,n,r)},A(e,i,n,r)}),e.sync=function(t,n,r){var s=j[t];i.defaults(r||(r={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:s,dataType:"json"};if(r.url||(a.url=i.result(n,"url")||V()),null!=r.data||!n||"create"!==t&&"update"!==t&&"patch"!==t||(a.contentType="application/json",a.data=JSON.stringify(r.attrs||n.toJSON(r))),r.emulateJSON&&(a.contentType="application/x-www-form-urlencoded",a.data=a.data?{model:a.data}:{}),r.emulateHTTP&&("PUT"===s||"DELETE"===s||"PATCH"===s)){a.type="POST",r.emulateJSON&&(a.data._method=s);var o=r.beforeSend;r.beforeSend=function(t){if(t.setRequestHeader("X-HTTP-Method-Override",s),o)return o.apply(this,arguments)}}"GET"===a.type||r.emulateJSON||(a.processData=!1);var h=r.error;r.error=function(t,e,i){r.textStatus=e,r.errorThrown=i,h&&h.call(r.context,t,e,i)};var u=r.xhr=e.ajax(i.extend(a,r));return n.trigger("request",n,u,r),u};var j={create:"POST",update:"PUT",patch:"PATCH",delete:"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var O=e.Router=function(t){t||(t={}),this.preinitialize.apply(this,arguments),t.routes&&(this.routes=t.routes),this._bindRoutes(),this.initialize.apply(this,arguments)},U=/\((.*?)\)/g,z=/(\(\?)?:\w+/g,q=/\*\w+/g,F=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(O.prototype,a,{preinitialize:function(){},initialize:function(){},route:function(t,n,r){i.isRegExp(t)||(t=this._routeToRegExp(t)),i.isFunction(n)&&(r=n,n=""),r||(r=this[n]);var s=this;return e.history.route(t,function(i){var a=s._extractParameters(t,i);!1!==s.execute(r,a,n)&&(s.trigger.apply(s,["route:"+n].concat(a)),s.trigger("route",n,a),e.history.trigger("route",s,n,a))}),this},execute:function(t,e,i){t&&t.apply(this,e)},navigate:function(t,i){return e.history.navigate(t,i),this},_bindRoutes:function(){if(this.routes){this.routes=i.result(this,"routes");for(var t,e=i.keys(this.routes);null!=(t=e.pop());)this.route(t,this.routes[t])}},_routeToRegExp:function(t){return t=t.replace(F,"\\$&").replace(U,"(?:$1)?").replace(z,function(t,e){return e?t:"([^/?]+)"}).replace(q,"([^?]*?)"),new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var n=t.exec(e).slice(1);return i.map(n,function(t,e){return e===n.length-1?t||null:t?decodeURIComponent(t):null})}});var B=e.History=function(){this.handlers=[],this.checkUrl=this.checkUrl.bind(this),"undefined"!=typeof window&&(this.location=window.location,this.history=window.history)},J=/^[#\/]|\s+$/g,L=/^\/+|\/+$/g,W=/#.*$/;B.started=!1,i.extend(B.prototype,a,{interval:50,atRoot:function(){return this.location.pathname.replace(/[^\/]$/,"$&/")===this.root&&!this.getSearch()},matchRoot:function(){return this.decodeFragment(this.location.pathname).slice(0,this.root.length-1)+"/"===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return"/"===t.charAt(0)?t.slice(1):t},getFragment:function(t){return null==t&&(t=this._usePushState||!this._wantsHashChange?this.getPath():this.getHash()),t.replace(J,"")},start:function(t){if(B.started)throw new Error("Backbone.history has already been started");if(B.started=!0,this.options=i.extend({root:"/"},this.options,t),this.root=this.options.root,this._wantsHashChange=!1!==this.options.hashChange,this._hasHashChange="onhashchange"in window&&(void 0===document.documentMode||7<document.documentMode),this._useHashChange=this._wantsHashChange&&this._hasHashChange,this._wantsPushState=!!this.options.pushState,this._hasPushState=!(!this.history||!this.history.pushState),this._usePushState=this._wantsPushState&&this._hasPushState,this.fragment=this.getFragment(),this.root=("/"+this.root+"/").replace(L,"/"),this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";return this.location.replace(e+"#"+this.getPath()),!0}this._hasPushState&&this.atRoot()&&this.navigate(this.getHash(),{replace:!0})}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe"),this.iframe.src="javascript:0",this.iframe.style.display="none",this.iframe.tabIndex=-1;var n=document.body,r=n.insertBefore(this.iframe,n.firstChild).contentWindow;r.document.open(),r.document.close(),r.location.hash="#"+this.fragment}var s=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState?s("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe?s("hashchange",this.checkUrl,!1):this._wantsHashChange&&(this._checkUrlInterval=setInterval(this.checkUrl,this.interval)),!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};this._usePushState?t("popstate",this.checkUrl,!1):this._useHashChange&&!this.iframe&&t("hashchange",this.checkUrl,!1),this.iframe&&(document.body.removeChild(this.iframe),this.iframe=null),this._checkUrlInterval&&clearInterval(this._checkUrlInterval),B.started=!1},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe&&(e=this.getHash(this.iframe.contentWindow)),e===this.fragment)return!1;this.iframe&&this.navigate(e),this.loadUrl()},loadUrl:function(t){return!!this.matchRoot()&&(t=this.fragment=this.getFragment(t),i.some(this.handlers,function(e){if(e.route.test(t))return e.callback(t),!0}))},navigate:function(t,e){if(!B.started)return!1;e&&!0!==e||(e={trigger:!!e}),t=this.getFragment(t||"");var i=this.root;""!==t&&"?"!==t.charAt(0)||(i=i.slice(0,-1)||"/");var n=i+t;t=t.replace(W,"");var r=this.decodeFragment(t);if(this.fragment!==r){if(this.fragment=r,this._usePushState)this.history[e.replace?"replaceState":"pushState"]({},document.title,n);else{if(!this._wantsHashChange)return this.location.assign(n);if(this._updateHash(this.location,t,e.replace),this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;e.replace||(s.document.open(),s.document.close()),this._updateHash(s.location,t,e.replace)}}return e.trigger?this.loadUrl(t):void 0}},_updateHash:function(t,e,i){if(i){var n=t.href.replace(/(javascript:|#).*$/,"");t.replace(n+"#"+e)}else t.hash="#"+e}}),e.history=new B;m.extend=_.extend=O.extend=T.extend=B.extend=function(t,e){var r,n=this;return r=t&&i.has(t,"constructor")?t.constructor:function(){return n.apply(this,arguments)},i.extend(r,n,e),r.prototype=i.create(n.prototype,t),(r.prototype.constructor=r).__super__=n.prototype,r};var V=function(){throw new Error('A "url" property or function must be specified')},G=function(t,e){var i=e.error;e.error=function(n){i&&i.call(e.context,t,n,e),t.trigger("error",t,n,e)}};return e}),function(){var e=function(t){var r=new e.Builder;return r.pipeline.add(e.trimmer,e.stopWordFilter,e.stemmer),r.searchPipeline.add(e.stemmer),t.call(r,r),r.build()};e.version="2.3.7",e.utils={},e.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),e.utils.asString=function(e){return null==e?"":e.toString()},e.utils.clone=function(e){if(null==e)return e;for(var t=Object.create(null),r=Object.keys(e),i=0;i<r.length;i++){var n=r[i],s=e[n];if(Array.isArray(s))t[n]=s.slice();else{if("string"!=typeof s&&"number"!=typeof s&&"boolean"!=typeof s)throw new TypeError("clone is not deep and does not support nested objects");t[n]=s}}return t},e.FieldRef=function(e,t,r){this.docRef=e,this.fieldName=t,this._stringValue=r},e.FieldRef.joiner="/",e.FieldRef.fromString=function(t){var r=t.indexOf(e.FieldRef.joiner);if(-1===r)throw"malformed field ref string";var i=t.slice(0,r),n=t.slice(r+1);return new e.FieldRef(n,i,t)},e.FieldRef.prototype.toString=function(){return null==this._stringValue&&(this._stringValue=this.fieldName+e.FieldRef.joiner+this.docRef),this._stringValue},e.Set=function(e){if(this.elements=Object.create(null),e){this.length=e.length;for(var t=0;t<this.length;t++)this.elements[e[t]]=!0}else this.length=0},e.Set.complete={intersect:function(e){return e},union:function(e){return e},contains:function(){return!0}},e.Set.empty={intersect:function(){return this},union:function(e){return e},contains:function(){return!1}},e.Set.prototype.contains=function(e){return!!this.elements[e]},e.Set.prototype.intersect=function(t){var r,i,n,s=[];if(t===e.Set.complete)return this;if(t===e.Set.empty)return t;i=this.length<t.length?(r=this,t):(r=t,this),n=Object.keys(r.elements);for(var o=0;o<n.length;o++){var a=n[o];a in i.elements&&s.push(a)}return new e.Set(s)},e.Set.prototype.union=function(t){return t===e.Set.complete?e.Set.complete:t===e.Set.empty?this:new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))},e.idf=function(e,t){var r=0;for(var i in e)"_index"!=i&&(r+=Object.keys(e[i]).length);var n=(t-r+.5)/(r+.5);return Math.log(1+Math.abs(n))},e.Token=function(e,t){this.str=e||"",this.metadata=t||{}},e.Token.prototype.toString=function(){return this.str},e.Token.prototype.update=function(e){return this.str=e(this.str,this.metadata),this},e.Token.prototype.clone=function(t){return t=t||function(e){return e},new e.Token(t(this.str,this.metadata),this.metadata)},e.tokenizer=function(t,r){if(null==t||null==t)return[];if(Array.isArray(t))return t.map(function(t){return new e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))});for(var i=t.toString().toLowerCase(),n=i.length,s=[],o=0,a=0;o<=n;o++){var l=o-a;if(i.charAt(o).match(e.tokenizer.separator)||o==n){if(0<l){var c=e.utils.clone(r)||{};c.position=[a,l],c.index=s.length,s.push(new e.Token(i.slice(a,o),c))}a=o+1}}return s},e.tokenizer.separator=/[\s\-]+/,e.Pipeline=function(){this._stack=[]},e.Pipeline.registeredFunctions=Object.create(null),e.Pipeline.registerFunction=function(t,r){r in this.registeredFunctions&&e.utils.warn("Overwriting existing registered function: "+r),t.label=r,e.Pipeline.registeredFunctions[t.label]=t},e.Pipeline.warnIfFunctionNotRegistered=function(t){t.label&&t.label in this.registeredFunctions||e.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",t)},e.Pipeline.load=function(t){var r=new e.Pipeline;return t.forEach(function(t){var i=e.Pipeline.registeredFunctions[t];if(!i)throw new Error("Cannot load unregistered function: "+t);r.add(i)}),r},e.Pipeline.prototype.add=function(){Array.prototype.slice.call(arguments).forEach(function(t){e.Pipeline.warnIfFunctionNotRegistered(t),this._stack.push(t)},this)},e.Pipeline.prototype.after=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");i+=1,this._stack.splice(i,0,r)},e.Pipeline.prototype.before=function(t,r){e.Pipeline.warnIfFunctionNotRegistered(r);var i=this._stack.indexOf(t);if(-1==i)throw new Error("Cannot find existingFn");this._stack.splice(i,0,r)},e.Pipeline.prototype.remove=function(e){var t=this._stack.indexOf(e);-1!=t&&this._stack.splice(t,1)},e.Pipeline.prototype.run=function(e){for(var t=this._stack.length,r=0;r<t;r++){for(var i=this._stack[r],n=[],s=0;s<e.length;s++){var o=i(e[s],s,e);if(null!=o&&""!==o)if(Array.isArray(o))for(var a=0;a<o.length;a++)n.push(o[a]);else n.push(o)}e=n}return e},e.Pipeline.prototype.runString=function(t,r){var i=new e.Token(t,r);return this.run([i]).map(function(e){return e.toString()})},e.Pipeline.prototype.reset=function(){this._stack=[]},e.Pipeline.prototype.toJSON=function(){return this._stack.map(function(t){return e.Pipeline.warnIfFunctionNotRegistered(t),t.label})},e.Vector=function(e){this._magnitude=0,this.elements=e||[]},e.Vector.prototype.positionForIndex=function(e){if(0==this.elements.length)return 0;for(var t=0,r=this.elements.length/2,i=r-t,n=Math.floor(i/2),s=this.elements[2*n];1<i&&(s<e&&(t=n),e<s&&(r=n),s!=e);)i=r-t,n=t+Math.floor(i/2),s=this.elements[2*n];return s==e?2*n:e<s?2*n:s<e?2*(n+1):void 0},e.Vector.prototype.insert=function(e,t){this.upsert(e,t,function(){throw"duplicate index"})},e.Vector.prototype.upsert=function(e,t,r){this._magnitude=0;var i=this.positionForIndex(e);this.elements[i]==e?this.elements[i+1]=r(this.elements[i+1],t):this.elements.splice(i,0,e,t)},e.Vector.prototype.magnitude=function(){if(this._magnitude)return this._magnitude;for(var e=0,t=this.elements.length,r=1;r<t;r+=2){var i=this.elements[r];e+=i*i}return this._magnitude=Math.sqrt(e)},e.Vector.prototype.dot=function(e){for(var t=0,r=this.elements,i=e.elements,n=r.length,s=i.length,o=0,a=0,u=0,l=0;u<n&&l<s;)(o=r[u])<(a=i[l])?u+=2:a<o?l+=2:o==a&&(t+=r[u+1]*i[l+1],u+=2,l+=2);return t},e.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},e.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),t=1,r=0;t<this.elements.length;t+=2,r++)e[r]=this.elements[t];return e},e.Vector.prototype.toJSON=function(){return this.elements},e.stemmer=function(){var e={ational:"ate",tional:"tion",enci:"ence",anci:"ance",izer:"ize",bli:"ble",alli:"al",entli:"ent",eli:"e",ousli:"ous",ization:"ize",ation:"ate",ator:"ate",alism:"al",iveness:"ive",fulness:"ful",ousness:"ous",aliti:"al",iviti:"ive",biliti:"ble",logi:"log"},t={icate:"ic",ative:"",alize:"al",iciti:"ic",ical:"ic",ful:"",ness:""},i="[aeiouy]",n="[^aeiou][^aeiouy]*",c=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),h=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*[aeiouy][aeiou]*[^aeiou][^aeiouy]*"),d=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy][aeiou]*[^aeiou][^aeiouy]*([aeiouy][aeiou]*)?$"),f=new RegExp("^([^aeiou][^aeiouy]*)?[aeiouy]"),p=/^(.+?)(ss|i)es$/,y=/^(.+?)([^s])s$/,m=/^(.+?)eed$/,v=/^(.+?)(ed|ing)$/,g=/.$/,x=/(at|bl|iz)$/,w=new RegExp("([^aeiouylsz])\\1$"),Q=new RegExp("^"+n+i+"[^aeiouwxy]$"),k=/^(.+?[^aeiou])y$/,S=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,L=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,b=/^(.+?)(s|t)(ion)$/,P=/^(.+?)e$/,T=/ll$/,O=new RegExp("^"+n+i+"[^aeiouwxy]$"),I=function(r){var i,n,s,o,a,u,l;if(r.length<3)return r;if("y"==(s=r.substr(0,1))&&(r=s.toUpperCase()+r.substr(1)),a=y,(o=p).test(r)?r=r.replace(o,"$1$2"):a.test(r)&&(r=r.replace(a,"$1$2")),a=v,(o=m).test(r)){var I=o.exec(r);(o=c).test(I[1])&&(o=g,r=r.replace(o,""))}else if(a.test(r)){i=(I=a.exec(r))[1],(a=f).test(i)&&(u=w,l=Q,(a=x).test(r=i)?r+="e":u.test(r)?(o=g,r=r.replace(o,"")):l.test(r)&&(r+="e"))}(o=k).test(r)&&(r=(i=(I=o.exec(r))[1])+"i");(o=S).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+e[n]));(o=E).test(r)&&(i=(I=o.exec(r))[1],n=I[2],(o=c).test(i)&&(r=i+t[n]));if(a=b,(o=L).test(r))i=(I=o.exec(r))[1],(o=h).test(i)&&(r=i);else if(a.test(r)){i=(I=a.exec(r))[1]+I[2],(a=h).test(i)&&(r=i)}(o=P).test(r)&&(i=(I=o.exec(r))[1],a=d,u=O,((o=h).test(i)||a.test(i)&&!u.test(i))&&(r=i));return a=h,(o=T).test(r)&&a.test(r)&&(o=g,r=r.replace(o,"")),"y"==s&&(r=s.toLowerCase()+r.substr(1)),r};return function(e){return e.update(I)}}(),e.Pipeline.registerFunction(e.stemmer,"stemmer"),e.generateStopWordFilter=function(e){var t=e.reduce(function(e,t){return e[t]=t,e},{});return function(e){if(e&&t[e.toString()]!==e.toString())return e}},e.stopWordFilter=e.generateStopWordFilter(["a","able","about","across","after","all","almost","also","am","among","an","and","any","are","as","at","be","because","been","but","by","can","cannot","could","dear","did","do","does","either","else","ever","every","for","from","get","got","had","has","have","he","her","hers","him","his","how","however","i","if","in","into","is","it","its","just","least","let","like","likely","may","me","might","most","must","my","neither","no","nor","not","of","off","often","on","only","or","other","our","own","rather","said","say","says","she","should","since","so","some","than","that","the","their","them","then","there","these","they","this","tis","to","too","twas","us","wants","was","we","were","what","when","where","which","while","who","whom","why","will","with","would","yet","you","your"]),e.Pipeline.registerFunction(e.stopWordFilter,"stopWordFilter"),e.trimmer=function(e){return e.update(function(e){return e.replace(/^\W+/,"").replace(/\W+$/,"")})},e.Pipeline.registerFunction(e.trimmer,"trimmer"),e.TokenSet=function(){this.final=!1,this.edges={},this.id=e.TokenSet._nextId,e.TokenSet._nextId+=1},e.TokenSet._nextId=1,e.TokenSet.fromArray=function(t){for(var r=new e.TokenSet.Builder,i=0,n=t.length;i<n;i++)r.insert(t[i]);return r.finish(),r.root},e.TokenSet.fromClause=function(t){return"editDistance"in t?e.TokenSet.fromFuzzyString(t.term,t.editDistance):e.TokenSet.fromString(t.term)},e.TokenSet.fromFuzzyString=function(t,r){for(var i=new e.TokenSet,n=[{node:i,editsRemaining:r,str:t}];n.length;){var s=n.pop();if(0<s.str.length){var o,a=s.str.charAt(0);a in s.node.edges?o=s.node.edges[a]:(o=new e.TokenSet,s.node.edges[a]=o),1==s.str.length&&(o.final=!0),n.push({node:o,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(0!=s.editsRemaining){if("*"in s.node.edges)var u=s.node.edges["*"];else{u=new e.TokenSet;s.node.edges["*"]=u}if(0==s.str.length&&(u.final=!0),n.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),1<s.str.length&&n.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),1==s.str.length&&(s.node.final=!0),1<=s.str.length){if("*"in s.node.edges)var l=s.node.edges["*"];else{l=new e.TokenSet;s.node.edges["*"]=l}1==s.str.length&&(l.final=!0),n.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(1<s.str.length){var c,h=s.str.charAt(0),d=s.str.charAt(1);d in s.node.edges?c=s.node.edges[d]:(c=new e.TokenSet,s.node.edges[d]=c),1==s.str.length&&(c.final=!0),n.push({node:c,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return i},e.TokenSet.fromString=function(t){for(var r=new e.TokenSet,i=r,n=0,s=t.length;n<s;n++){var o=t[n],a=n==s-1;if("*"==o)(r.edges[o]=r).final=a;else{var u=new e.TokenSet;u.final=a,r.edges[o]=u,r=u}}return i},e.TokenSet.prototype.toArray=function(){for(var e=[],t=[{prefix:"",node:this}];t.length;){var r=t.pop(),i=Object.keys(r.node.edges),n=i.length;r.node.final&&(r.prefix.charAt(0),e.push(r.prefix));for(var s=0;s<n;s++){var o=i[s];t.push({prefix:r.prefix.concat(o),node:r.node.edges[o]})}}return e},e.TokenSet.prototype.toString=function(){if(this._str)return this._str;for(var e=this.final?"1":"0",t=Object.keys(this.edges).sort(),r=t.length,i=0;i<r;i++){var n=t[i];e=e+n+this.edges[n].id}return e},e.TokenSet.prototype.intersect=function(t){for(var r=new e.TokenSet,i=void 0,n=[{qNode:t,output:r,node:this}];n.length;){i=n.pop();for(var s=Object.keys(i.qNode.edges),o=s.length,a=Object.keys(i.node.edges),u=a.length,l=0;l<o;l++)for(var c=s[l],h=0;h<u;h++){var d=a[h];if(d==c||"*"==c){var f=i.node.edges[d],p=i.qNode.edges[c],y=f.final&&p.final,m=void 0;d in i.output.edges?(m=i.output.edges[d]).final=m.final||y:((m=new e.TokenSet).final=y,i.output.edges[d]=m),n.push({qNode:p,output:m,node:f})}}}return r},e.TokenSet.Builder=function(){this.previousWord="",this.root=new e.TokenSet,this.uncheckedNodes=[],this.minimizedNodes={}},e.TokenSet.Builder.prototype.insert=function(t){var r,i=0;if(t<this.previousWord)throw new Error("Out of order word insertion");for(var n=0;n<t.length&&n<this.previousWord.length&&t[n]==this.previousWord[n];n++)i++;this.minimize(i),r=0==this.uncheckedNodes.length?this.root:this.uncheckedNodes[this.uncheckedNodes.length-1].child;for(n=i;n<t.length;n++){var s=new e.TokenSet,o=t[n];r.edges[o]=s,this.uncheckedNodes.push({parent:r,char:o,child:s}),r=s}r.final=!0,this.previousWord=t},e.TokenSet.Builder.prototype.finish=function(){this.minimize(0)},e.TokenSet.Builder.prototype.minimize=function(e){for(var t=this.uncheckedNodes.length-1;e<=t;t--){var r=this.uncheckedNodes[t],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}},e.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},e.Index.prototype.search=function(t){return this.query(function(r){new e.QueryParser(t,r).parse()})},e.Index.prototype.query=function(t){for(var r=new e.Query(this.fields),i=Object.create(null),n=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u<this.fields.length;u++)n[this.fields[u]]=new e.Vector;t.call(r,r);for(u=0;u<r.clauses.length;u++){var c,l=r.clauses[u],h=e.Set.complete;c=l.usePipeline?this.pipeline.runString(l.term,{fields:l.fields}):[l.term];for(var d=0;d<c.length;d++){var f=c[d];l.term=f;var p=e.TokenSet.fromClause(l),y=this.tokenSet.intersect(p).toArray();if(0===y.length&&l.presence===e.Query.presence.REQUIRED){for(var m=0;m<l.fields.length;m++){o[v=l.fields[m]]=e.Set.empty}break}for(var g=0;g<y.length;g++){var x=y[g],w=this.invertedIndex[x],Q=w._index;for(m=0;m<l.fields.length;m++){var k=w[v=l.fields[m]],S=Object.keys(k),E=x+"/"+v,L=new e.Set(S);if(l.presence==e.Query.presence.REQUIRED&&(h=h.union(L),void 0===o[v]&&(o[v]=e.Set.complete)),l.presence!=e.Query.presence.PROHIBITED){if(n[v].upsert(Q,l.boost,function(e,t){return e+t}),!s[E]){for(var b=0;b<S.length;b++){var P,T=S[b],O=new e.FieldRef(T,v),I=k[T];void 0===(P=i[O])?i[O]=new e.MatchData(x,v,I):P.add(x,v,I)}s[E]=!0}}else void 0===a[v]&&(a[v]=e.Set.empty),a[v]=a[v].union(L)}}}if(l.presence===e.Query.presence.REQUIRED)for(m=0;m<l.fields.length;m++){o[v=l.fields[m]]=o[v].intersect(h)}}var R=e.Set.complete,F=e.Set.empty;for(u=0;u<this.fields.length;u++){var v;o[v=this.fields[u]]&&(R=R.intersect(o[v])),a[v]&&(F=F.union(a[v]))}var C=Object.keys(i),N=[],_=Object.create(null);if(r.isNegated()){C=Object.keys(this.fieldVectors);for(u=0;u<C.length;u++){O=C[u];var j=e.FieldRef.fromString(O);i[O]=new e.MatchData}}for(u=0;u<C.length;u++){var D=(j=e.FieldRef.fromString(C[u])).docRef;if(R.contains(D)&&!F.contains(D)){var A,B=this.fieldVectors[j],V=n[j.fieldName].similarity(B);if(void 0!==(A=_[D]))A.score+=V,A.matchData.combine(i[j]);else{var z={ref:D,score:V,matchData:i[j]};_[D]=z,N.push(z)}}}return N.sort(function(e,t){return t.score-e.score})},e.Index.prototype.toJSON=function(){var t=Object.keys(this.invertedIndex).sort().map(function(e){return[e,this.invertedIndex[e]]},this),r=Object.keys(this.fieldVectors).map(function(e){return[e,this.fieldVectors[e].toJSON()]},this);return{version:e.version,fields:this.fields,fieldVectors:r,invertedIndex:t,pipeline:this.pipeline.toJSON()}},e.Index.load=function(t){var r={},i={},n=t.fieldVectors,s=Object.create(null),o=t.invertedIndex,a=new e.TokenSet.Builder,u=e.Pipeline.load(t.pipeline);t.version!=e.version&&e.utils.warn("Version mismatch when loading serialised index. Current version of lunr '"+e.version+"' does not match serialized index '"+t.version+"'");for(var l=0;l<n.length;l++){var h=(c=n[l])[0],d=c[1];i[h]=new e.Vector(d)}for(l=0;l<o.length;l++){var c,f=(c=o[l])[0],p=c[1];a.insert(f),s[f]=p}return a.finish(),r.fields=t.fields,r.fieldVectors=i,r.invertedIndex=s,r.tokenSet=a.root,r.pipeline=u,new e.Index(r)},e.Builder=function(){this._ref="id",this._fields=Object.create(null),this._documents=Object.create(null),this.invertedIndex=Object.create(null),this.fieldTermFrequencies={},this.fieldLengths={},this.tokenizer=e.tokenizer,this.pipeline=new e.Pipeline,this.searchPipeline=new e.Pipeline,this.documentCount=0,this._b=.75,this._k1=1.2,this.termIndex=0,this.metadataWhitelist=[]},e.Builder.prototype.ref=function(e){this._ref=e},e.Builder.prototype.field=function(e,t){if(/\//.test(e))throw new RangeError("Field '"+e+"' contains illegal character '/'");this._fields[e]=t||{}},e.Builder.prototype.b=function(e){this._b=e<0?0:1<e?1:e},e.Builder.prototype.k1=function(e){this._k1=e},e.Builder.prototype.add=function(t,r){var i=t[this._ref],n=Object.keys(this._fields);this._documents[i]=r||{},this.documentCount+=1;for(var s=0;s<n.length;s++){var o=n[s],a=this._fields[o].extractor,u=a?a(t):t[o],l=this.tokenizer(u,{fields:[o]}),c=this.pipeline.run(l),h=new e.FieldRef(i,o),d=Object.create(null);this.fieldTermFrequencies[h]=d,this.fieldLengths[h]=0,this.fieldLengths[h]+=c.length;for(var f=0;f<c.length;f++){var p=c[f];if(null==d[p]&&(d[p]=0),d[p]+=1,null==this.invertedIndex[p]){var y=Object.create(null);y._index=this.termIndex,this.termIndex+=1;for(var m=0;m<n.length;m++)y[n[m]]=Object.create(null);this.invertedIndex[p]=y}null==this.invertedIndex[p][o][i]&&(this.invertedIndex[p][o][i]=Object.create(null));for(var v=0;v<this.metadataWhitelist.length;v++){var g=this.metadataWhitelist[v],x=p.metadata[g];null==this.invertedIndex[p][o][i][g]&&(this.invertedIndex[p][o][i][g]=[]),this.invertedIndex[p][o][i][g].push(x)}}}},e.Builder.prototype.calculateAverageFieldLengths=function(){for(var t=Object.keys(this.fieldLengths),r=t.length,i={},n={},s=0;s<r;s++){var o=e.FieldRef.fromString(t[s]),a=o.fieldName;n[a]||(n[a]=0),n[a]+=1,i[a]||(i[a]=0),i[a]+=this.fieldLengths[o]}var u=Object.keys(this._fields);for(s=0;s<u.length;s++){var l=u[s];i[l]=i[l]/n[l]}this.averageFieldLength=i},e.Builder.prototype.createFieldVectors=function(){for(var t={},r=Object.keys(this.fieldTermFrequencies),i=r.length,n=Object.create(null),s=0;s<i;s++){for(var o=e.FieldRef.fromString(r[s]),a=o.fieldName,u=this.fieldLengths[o],l=new e.Vector,c=this.fieldTermFrequencies[o],h=Object.keys(c),d=h.length,f=this._fields[a].boost||1,p=this._documents[o.docRef].boost||1,y=0;y<d;y++){var m,v,g,x=h[y],w=c[x],Q=this.invertedIndex[x]._index;void 0===n[x]?(m=e.idf(this.invertedIndex[x],this.documentCount),n[x]=m):m=n[x],v=m*((this._k1+1)*w)/(this._k1*(1-this._b+this._b*(u/this.averageFieldLength[a]))+w),v*=f,v*=p,g=Math.round(1e3*v)/1e3,l.insert(Q,g)}t[o]=l}this.fieldVectors=t},e.Builder.prototype.createTokenSet=function(){this.tokenSet=e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())},e.Builder.prototype.build=function(){return this.calculateAverageFieldLengths(),this.createFieldVectors(),this.createTokenSet(),new e.Index({invertedIndex:this.invertedIndex,fieldVectors:this.fieldVectors,tokenSet:this.tokenSet,fields:Object.keys(this._fields),pipeline:this.searchPipeline})},e.Builder.prototype.use=function(e){var t=Array.prototype.slice.call(arguments,1);t.unshift(this),e.apply(this,t)},e.MatchData=function(e,t,r){for(var i=Object.create(null),n=Object.keys(r||{}),s=0;s<n.length;s++){var o=n[s];i[o]=r[o].slice()}this.metadata=Object.create(null),void 0!==e&&(this.metadata[e]=Object.create(null),this.metadata[e][t]=i)},e.MatchData.prototype.combine=function(e){for(var t=Object.keys(e.metadata),r=0;r<t.length;r++){var i=t[r],n=Object.keys(e.metadata[i]);null==this.metadata[i]&&(this.metadata[i]=Object.create(null));for(var s=0;s<n.length;s++){var o=n[s],a=Object.keys(e.metadata[i][o]);null==this.metadata[i][o]&&(this.metadata[i][o]=Object.create(null));for(var u=0;u<a.length;u++){var l=a[u];null==this.metadata[i][o][l]?this.metadata[i][o][l]=e.metadata[i][o][l]:this.metadata[i][o][l]=this.metadata[i][o][l].concat(e.metadata[i][o][l])}}}},e.MatchData.prototype.add=function(e,t,r){if(!(e in this.metadata))return this.metadata[e]=Object.create(null),void(this.metadata[e][t]=r);if(t in this.metadata[e])for(var i=Object.keys(r),n=0;n<i.length;n++){var s=i[n];s in this.metadata[e][t]?this.metadata[e][t][s]=this.metadata[e][t][s].concat(r[s]):this.metadata[e][t][s]=r[s]}else this.metadata[e][t]=r},e.Query=function(e){this.clauses=[],this.allFields=e},e.Query.wildcard=new String("*"),e.Query.wildcard.NONE=0,e.Query.wildcard.LEADING=1,e.Query.wildcard.TRAILING=2,e.Query.presence={OPTIONAL:1,REQUIRED:2,PROHIBITED:3},e.Query.prototype.clause=function(t){return"fields"in t||(t.fields=this.allFields),"boost"in t||(t.boost=1),"usePipeline"in t||(t.usePipeline=!0),"wildcard"in t||(t.wildcard=e.Query.wildcard.NONE),t.wildcard&e.Query.wildcard.LEADING&&t.term.charAt(0)!=e.Query.wildcard&&(t.term="*"+t.term),t.wildcard&e.Query.wildcard.TRAILING&&t.term.slice(-1)!=e.Query.wildcard&&(t.term=t.term+"*"),"presence"in t||(t.presence=e.Query.presence.OPTIONAL),this.clauses.push(t),this},e.Query.prototype.isNegated=function(){for(var t=0;t<this.clauses.length;t++)if(this.clauses[t].presence!=e.Query.presence.PROHIBITED)return!1;return!0},e.Query.prototype.term=function(t,r){if(Array.isArray(t))return t.forEach(function(t){this.term(t,e.utils.clone(r))},this),this;var i=r||{};return i.term=t.toString(),this.clause(i),this},e.QueryParseError=function(e,t,r){this.name="QueryParseError",this.message=e,this.start=t,this.end=r},e.QueryParseError.prototype=new Error,e.QueryLexer=function(e){this.lexemes=[],this.str=e,this.length=e.length,this.pos=0,this.start=0,this.escapeCharPositions=[]},e.QueryLexer.prototype.run=function(){for(var t=e.QueryLexer.lexText;t;)t=t(this)},e.QueryLexer.prototype.sliceString=function(){for(var e=[],t=this.start,r=this.pos,i=0;i<this.escapeCharPositions.length;i++)r=this.escapeCharPositions[i],e.push(this.str.slice(t,r)),t=r+1;return e.push(this.str.slice(t,this.pos)),this.escapeCharPositions.length=0,e.join("")},e.QueryLexer.prototype.emit=function(e){this.lexemes.push({type:e,str:this.sliceString(),start:this.start,end:this.pos}),this.start=this.pos},e.QueryLexer.prototype.escapeCharacter=function(){this.escapeCharPositions.push(this.pos-1),this.pos+=1},e.QueryLexer.prototype.next=function(){if(this.pos>=this.length)return e.QueryLexer.EOS;var t=this.str.charAt(this.pos);return this.pos+=1,t},e.QueryLexer.prototype.width=function(){return this.pos-this.start},e.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},e.QueryLexer.prototype.backup=function(){this.pos-=1},e.QueryLexer.prototype.acceptDigitRun=function(){for(var t,r;47<(r=(t=this.next()).charCodeAt(0))&&r<58;);t!=e.QueryLexer.EOS&&this.backup()},e.QueryLexer.prototype.more=function(){return this.pos<this.length},e.QueryLexer.EOS="EOS",e.QueryLexer.FIELD="FIELD",e.QueryLexer.TERM="TERM",e.QueryLexer.EDIT_DISTANCE="EDIT_DISTANCE",e.QueryLexer.BOOST="BOOST",e.QueryLexer.PRESENCE="PRESENCE",e.QueryLexer.lexField=function(t){return t.backup(),t.emit(e.QueryLexer.FIELD),t.ignore(),e.QueryLexer.lexText},e.QueryLexer.lexTerm=function(t){if(1<t.width()&&(t.backup(),t.emit(e.QueryLexer.TERM)),t.ignore(),t.more())return e.QueryLexer.lexText},e.QueryLexer.lexEditDistance=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.EDIT_DISTANCE),e.QueryLexer.lexText},e.QueryLexer.lexBoost=function(t){return t.ignore(),t.acceptDigitRun(),t.emit(e.QueryLexer.BOOST),e.QueryLexer.lexText},e.QueryLexer.lexEOS=function(t){0<t.width()&&t.emit(e.QueryLexer.TERM)},e.QueryLexer.termSeparator=e.tokenizer.separator,e.QueryLexer.lexText=function(t){for(;;){var r=t.next();if(r==e.QueryLexer.EOS)return e.QueryLexer.lexEOS;if(92!=r.charCodeAt(0)){if(":"==r)return e.QueryLexer.lexField;if("~"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexEditDistance;if("^"==r)return t.backup(),0<t.width()&&t.emit(e.QueryLexer.TERM),e.QueryLexer.lexBoost;if("+"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if("-"==r&&1===t.width())return t.emit(e.QueryLexer.PRESENCE),e.QueryLexer.lexText;if(r.match(e.QueryLexer.termSeparator))return e.QueryLexer.lexTerm}else t.escapeCharacter()}},e.QueryParser=function(t,r){this.lexer=new e.QueryLexer(t),this.query=r,this.currentClause={},this.lexemeIdx=0},e.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var t=e.QueryParser.parseClause;t;)t=t(this);return this.query},e.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},e.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},e.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},e.QueryParser.parseClause=function(t){var r=t.peekLexeme();if(null!=r)switch(r.type){case e.QueryLexer.PRESENCE:return e.QueryParser.parsePresence;case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:var i="expected either a field or a term, found "+r.type;throw 1<=r.str.length&&(i+=" with value '"+r.str+"'"),new e.QueryParseError(i,r.start,r.end)}},e.QueryParser.parsePresence=function(t){var r=t.consumeLexeme();if(null!=r){switch(r.str){case"-":t.currentClause.presence=e.Query.presence.PROHIBITED;break;case"+":t.currentClause.presence=e.Query.presence.REQUIRED;break;default:var i="unrecognised presence operator'"+r.str+"'";throw new e.QueryParseError(i,r.start,r.end)}var n=t.peekLexeme();if(null==n){i="expecting term or field, found nothing";throw new e.QueryParseError(i,r.start,r.end)}switch(n.type){case e.QueryLexer.FIELD:return e.QueryParser.parseField;case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:i="expecting term or field, found '"+n.type+"'";throw new e.QueryParseError(i,n.start,n.end)}}},e.QueryParser.parseField=function(t){var r=t.consumeLexeme();if(null!=r){if(-1==t.query.allFields.indexOf(r.str)){var i=t.query.allFields.map(function(e){return"'"+e+"'"}).join(", "),n="unrecognised field '"+r.str+"', possible fields: "+i;throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.fields=[r.str];var s=t.peekLexeme();if(null==s){n="expecting term, found nothing";throw new e.QueryParseError(n,r.start,r.end)}switch(s.type){case e.QueryLexer.TERM:return e.QueryParser.parseTerm;default:n="expecting term, found '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseTerm=function(t){var r=t.consumeLexeme();if(null!=r){t.currentClause.term=r.str.toLowerCase(),-1!=r.str.indexOf("*")&&(t.currentClause.usePipeline=!1);var i=t.peekLexeme();if(null==i)return void t.nextClause();switch(i.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:var n="Unexpected lexeme type '"+i.type+"'";throw new e.QueryParseError(n,i.start,i.end)}}},e.QueryParser.parseEditDistance=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="edit distance must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.editDistance=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},e.QueryParser.parseBoost=function(t){var r=t.consumeLexeme();if(null!=r){var i=parseInt(r.str,10);if(isNaN(i)){var n="boost must be numeric";throw new e.QueryParseError(n,r.start,r.end)}t.currentClause.boost=i;var s=t.peekLexeme();if(null==s)return void t.nextClause();switch(s.type){case e.QueryLexer.TERM:return t.nextClause(),e.QueryParser.parseTerm;case e.QueryLexer.FIELD:return t.nextClause(),e.QueryParser.parseField;case e.QueryLexer.EDIT_DISTANCE:return e.QueryParser.parseEditDistance;case e.QueryLexer.BOOST:return e.QueryParser.parseBoost;case e.QueryLexer.PRESENCE:return t.nextClause(),e.QueryParser.parsePresence;default:n="Unexpected lexeme type '"+s.type+"'";throw new e.QueryParseError(n,s.start,s.end)}}},function(e,t){"function"==typeof define&&define.amd?define(t):"object"==typeof exports?module.exports=t():e.lunr=t()}(this,function(){return e})}();var __extends=this&&this.__extends||function(){var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])})(d,b)};return function(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}}(),typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc,typedoc;!function(typedoc){typedoc.$html=$("html");var services=[],components=[];typedoc.$document=$(document),typedoc.$window=$(window),typedoc.$body=$("body"),typedoc.registerService=function(constructor,name,priority){void 0===priority&&(priority=0),services.push({constructor:constructor,name:name,priority:priority,instance:null}),services.sort(function(a,b){return a.priority-b.priority})},typedoc.registerComponent=function(constructor,selector,priority,namespace){void 0===priority&&(priority=0),void 0===namespace&&(namespace="*"),components.push({selector:selector,constructor:constructor,priority:priority,namespace:namespace}),components.sort(function(a,b){return a.priority-b.priority})},"undefined"!=typeof Backbone&&(typedoc.Events=function(){},_.extend(typedoc.Events.prototype,Backbone.Events));var Application=function(_super){function Application(){var _this=_super.call(this)||this;return _this.createServices(),_this.createComponents(typedoc.$body),_this}return __extends(Application,_super),Application.prototype.createServices=function(){_(services).forEach(function(c){c.instance=new c.constructor,typedoc[c.name]=c.instance})},Application.prototype.createComponents=function($context,namespace){void 0===namespace&&(namespace="default");var result=[];return _(components).forEach(function(c){c.namespace!=namespace&&"*"!=c.namespace||$context.find(c.selector).each(function(m,el){var instance,$el=$(el);(instance=$el.data("component"))?-1==_(result).indexOf(instance)&&result.push(instance):(instance=new c.constructor({el:el}),$el.data("component",instance),result.push(instance))})}),result},Application}(typedoc.Events);typedoc.Application=Application}(typedoc||(typedoc={})),function(typedoc){var Viewport=function(_super){function Viewport(){var _this=_super.call(this)||this;return _this.scrollTop=0,_this.lastY=0,_this.width=0,_this.height=0,_this.showToolbar=!0,_this.toolbar=document.querySelector(".tsd-page-toolbar"),_this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),typedoc.$window.on("scroll",_.throttle(function(){return _this.onScroll()},10)),typedoc.$window.on("resize",_.throttle(function(){return _this.onResize()},10)),_this.onResize(),_this.onScroll(),_this}return __extends(Viewport,_super),Viewport.prototype.triggerResize=function(){this.trigger("resize",this.width,this.height)},Viewport.prototype.onResize=function(){this.width=typedoc.$window.width()||0,this.height=typedoc.$window.height()||0,this.trigger("resize",this.width,this.height)},Viewport.prototype.onScroll=function(){this.scrollTop=typedoc.$window.scrollTop()||0,this.trigger("scroll",this.scrollTop),this.hideShowToolbar()},Viewport.prototype.hideShowToolbar=function(){var isShown=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||0===this.scrollTop,isShown!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),this.secondaryNav.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop},Viewport}(typedoc.Events);typedoc.Viewport=Viewport,typedoc.registerService(Viewport,"viewport")}(typedoc||(typedoc={})),function(typedoc){typedoc.pointerDown="mousedown",typedoc.pointerMove="mousemove",typedoc.pointerUp="mouseup",typedoc.pointerDownPosition={x:0,y:0},typedoc.preventNextClick=!1,typedoc.isPointerDown=!1,typedoc.isPointerTouch=!1,typedoc.hasPointerMoved=!1,typedoc.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),typedoc.$html.addClass(typedoc.isMobile?"is-mobile":"not-mobile"),typedoc.isMobile&&"ontouchstart"in document.documentElement&&(typedoc.isPointerTouch=!0,typedoc.pointerDown="touchstart",typedoc.pointerMove="touchmove",typedoc.pointerUp="touchend"),typedoc.$document.on(typedoc.pointerDown,function(e){typedoc.isPointerDown=!0,typedoc.hasPointerMoved=!1;var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e;typedoc.pointerDownPosition.y=t.pageY||0,typedoc.pointerDownPosition.x=t.pageX||0}).on(typedoc.pointerMove,function(e){if(typedoc.isPointerDown&&!typedoc.hasPointerMoved){var t="touchstart"==typedoc.pointerDown?e.originalEvent.targetTouches[0]:e,x=typedoc.pointerDownPosition.x-(t.pageX||0),y=typedoc.pointerDownPosition.y-(t.pageY||0);typedoc.hasPointerMoved=10<Math.sqrt(x*x+y*y)}}).on(typedoc.pointerUp,function(e){typedoc.isPointerDown=!1}).on("click",function(e){typedoc.preventNextClick&&(e.preventDefault(),e.stopImmediatePropagation(),typedoc.preventNextClick=!1)})}(typedoc||(typedoc={})),function(typedoc){var FilterItem=function(){function FilterItem(key,value){this.key=key,this.value=value,this.defaultValue=value,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}return FilterItem.prototype.initialize=function(){},FilterItem.prototype.setValue=function(value){if(this.value!=value){var oldValue=this.value;this.value=value,window.localStorage[this.key]=this.toLocalStorage(value),this.handleValueChange(oldValue,value)}},FilterItem}(),FilterItemCheckbox=function(_super){function FilterItemCheckbox(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemCheckbox,_super),FilterItemCheckbox.prototype.initialize=function(){var _this=this;this.$checkbox=$("#tsd-filter-"+this.key),this.$checkbox.on("change",function(){_this.setValue(_this.$checkbox.prop("checked"))})},FilterItemCheckbox.prototype.handleValueChange=function(oldValue,newValue){this.$checkbox.prop("checked",this.value),typedoc.$html.toggleClass("toggle-"+this.key,this.value!=this.defaultValue)},FilterItemCheckbox.prototype.fromLocalStorage=function(value){return"true"==value},FilterItemCheckbox.prototype.toLocalStorage=function(value){return value?"true":"false"},FilterItemCheckbox}(FilterItem),FilterItemSelect=function(_super){function FilterItemSelect(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(FilterItemSelect,_super),FilterItemSelect.prototype.initialize=function(){var _this=this;typedoc.$html.addClass("toggle-"+this.key+this.value),this.$select=$("#tsd-filter-"+this.key),this.$select.on(typedoc.pointerDown+" mouseover",function(){_this.$select.addClass("active")}).on("mouseleave",function(){_this.$select.removeClass("active")}).on(typedoc.pointerUp,"li",function(e){_this.$select.removeClass("active"),_this.setValue(($(e.target).attr("data-value")||"").toString())}),typedoc.$document.on(typedoc.pointerDown,function(e){$(e.target).parents().addBack().is(_this.$select)||_this.$select.removeClass("active")})},FilterItemSelect.prototype.handleValueChange=function(oldValue,newValue){this.$select.find("li.selected").removeClass("selected"),this.$select.find(".tsd-select-label").text(this.$select.find('li[data-value="'+newValue+'"]').addClass("selected").text()),typedoc.$html.removeClass("toggle-"+oldValue),typedoc.$html.addClass("toggle-"+newValue)},FilterItemSelect.prototype.fromLocalStorage=function(value){return value},FilterItemSelect.prototype.toLocalStorage=function(value){return value},FilterItemSelect}(FilterItem),Filter=function(_super){function Filter(options){var _this=_super.call(this,options)||this;return _this.optionVisibility=new FilterItemSelect("visibility","private"),_this.optionInherited=new FilterItemCheckbox("inherited",!0),_this.optionExternals=new FilterItemCheckbox("externals",!0),_this.optionOnlyExported=new FilterItemCheckbox("only-exported",!1),_this}return __extends(Filter,_super),Filter.isSupported=function(){try{return void 0!==window.localStorage}catch(e){return!1}},Filter}(Backbone.View);Filter.isSupported()?typedoc.registerComponent(Filter,"#tsd-filter"):typedoc.$html.addClass("no-filter")}(typedoc||(typedoc={})),function(typedoc){var MenuHighlight=function(_super){function MenuHighlight(options){var _this=_super.call(this,options)||this;return _this.anchors=[],_this.index=0,_this.listenTo(typedoc.viewport,"resize",_this.onResize),_this.listenTo(typedoc.viewport,"scroll",_this.onScroll),_this.createAnchors(),_this}return __extends(MenuHighlight,_super),MenuHighlight.prototype.createAnchors=function(){var _this=this;this.index=0,this.anchors=[{position:0}];var base=window.location.href;-1!=base.indexOf("#")&&(base=base.substr(0,base.indexOf("#"))),this.$el.find("a").each(function(_index,el){var href=el.href;if(-1!=href.indexOf("#")&&href.substr(0,base.length)==base){var hash=href.substr(href.indexOf("#")+1),$anchor=$("a.tsd-anchor[name="+hash+"]");0!=$anchor.length&&_this.anchors.push({$link:$(el.parentNode),$anchor:$anchor,position:0})}}),this.onResize()},MenuHighlight.prototype.onResize=function(){for(var anchor,index=1,count=this.anchors.length;index<count;index++)(anchor=this.anchors[index]).position=anchor.$anchor.offset().top;this.anchors.sort(function(a,b){return a.position-b.position}),this.onScroll(typedoc.viewport.scrollTop)},MenuHighlight.prototype.onScroll=function(scrollTop){var anchors=this.anchors,index=this.index,count=anchors.length-1;for(scrollTop+=5;0<index&&anchors[index].position>scrollTop;)index-=1;for(;index<count&&anchors[index+1].position<scrollTop;)index+=1;this.index!=index&&(0<this.index&&this.anchors[this.index].$link.removeClass("focus"),this.index=index,0<this.index&&this.anchors[this.index].$link.addClass("focus"))},MenuHighlight}(Backbone.View);typedoc.MenuHighlight=MenuHighlight,typedoc.registerComponent(MenuHighlight,".menu-highlight")}(typedoc||(typedoc={})),function(typedoc){var search;!function(search){var SearchLoadingState;!function(SearchLoadingState){SearchLoadingState[SearchLoadingState.Idle=0]="Idle",SearchLoadingState[SearchLoadingState.Loading=1]="Loading",SearchLoadingState[SearchLoadingState.Ready=2]="Ready",SearchLoadingState[SearchLoadingState.Failure=3]="Failure"}(SearchLoadingState||(SearchLoadingState={}));var $el=$("#tsd-search"),$field=$("#tsd-search-field"),$results=$(".results"),base=$el.attr("data-base")+"/",query="",loadingState=SearchLoadingState.Idle,hasFocus=!1,preventPress=!1,index,resultClicked=!1;function createIndex(){var builder=new lunr.Builder;builder.pipeline.add(lunr.trimmer),builder.field("name",{boost:10}),builder.field("parent"),builder.ref("id");var rows=search.data.rows,pos=0,length=rows.length;!function batch(){for(var cycles=0;cycles++<100;)if(builder.add(rows[pos]),++pos==length)return index=builder.build(),setLoadingState(SearchLoadingState.Ready);setTimeout(batch,10)}()}function loadIndex(){loadingState==SearchLoadingState.Idle&&(setTimeout(function(){loadingState==SearchLoadingState.Idle&&setLoadingState(SearchLoadingState.Loading)},500),void 0!==search.data?createIndex():$.get($el.attr("data-index")).done(function(source){eval(source),createIndex()}).fail(function(){setLoadingState(SearchLoadingState.Failure)}))}function updateResults(){if($results.empty(),loadingState==SearchLoadingState.Ready&&query){var res=index.search("*"+query+"*");0===res.length&&(res=index.search("*"+query+"~1*"));for(var i=0,c=Math.min(10,res.length);i<c;i++){var row=search.data.rows[Number(res[i].ref)],name=row.name.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}),parent=row.parent||"";(parent=parent.replace(new RegExp(query,"i"),function(match){return"<b>"+match+"</b>"}))&&(name='<span class="parent">'+parent+".</span>"+name),$results.append('<li class="'+row.classes+'"><a href="'+base+row.url+'" class="tsd-kind-icon">'+name+"</li>")}}}function setLoadingState(value){loadingState!=value&&($el.removeClass(SearchLoadingState[loadingState].toLowerCase()),loadingState=value,$el.addClass(SearchLoadingState[loadingState].toLowerCase()),value==SearchLoadingState.Ready&&updateResults())}function setHasFocus(value){hasFocus!=value&&(hasFocus=value,$el.toggleClass("has-focus"),value?(setQuery(""),$field.val("")):$field.val(query))}function setQuery(value){query=$.trim(value),updateResults()}function setCurrentResult(dir){var $current=$results.find(".current");if(0==$current.length)$results.find(1==dir?"li:first-child":"li:last-child").addClass("current");else{var $rel=1==dir?$current.next("li"):$current.prev("li");0<$rel.length&&($current.removeClass("current"),$rel.addClass("current"))}}function gotoCurrentResult(){var $current=$results.find(".current");0==$current.length&&($current=$results.find("li:first-child")),0<$current.length&&(window.location.href=$current.find("a").prop("href"),$field.blur())}$results.on("mousedown",function(){resultClicked=!0}).on("mouseup",function(){setHasFocus(resultClicked=!1)}),$field.on("focusin",function(){setHasFocus(!0),loadIndex()}).on("focusout",function(){resultClicked?resultClicked=!1:setTimeout(function(){return setHasFocus(!1)},100)}).on("input",function(){setQuery($.trim(($field.val()||"").toString()))}).on("keydown",function(e){13==e.keyCode||27==e.keyCode||38==e.keyCode||40==e.keyCode?(preventPress=!0,e.preventDefault(),13==e.keyCode?gotoCurrentResult():27==e.keyCode?$field.blur():38==e.keyCode?setCurrentResult(-1):40==e.keyCode&&setCurrentResult(1)):preventPress=!1}).on("keypress",function(e){preventPress&&e.preventDefault()}),$("body").on("keydown",function(e){e.altKey||e.ctrlKey||e.metaKey||!hasFocus&&47<e.keyCode&&e.keyCode<112&&$field.focus()})}(search=typedoc.search||(typedoc.search={}))}(typedoc||(typedoc={})),function(typedoc){function noTransition($el,callback){$el.addClass("no-transition"),callback(),$el.offset(),$el.removeClass("no-transition")}typedoc.transition=function(tuples){for(var name in tuples)if(tuples.hasOwnProperty(name)&&void 0!==document.body.style[name])return{name:name,endEvent:tuples[name]};return null}({transition:"transitionend",OTransition:"oTransitionEnd",msTransition:"msTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"}),typedoc.noTransition=noTransition,typedoc.animateHeight=function($el,callback,success){var from=$el.height()||0,to=from;noTransition($el,function(){callback(),$el.css("height",""),to=$el.height()||0,from!=to&&typedoc.transition&&$el.css("height",from)}),from!=to&&typedoc.transition?($el.css("height",to),$el.on(typedoc.transition.endEvent,function(){noTransition($el,function(){$el.off(typedoc.transition.endEvent).css("height",""),success&&success()})})):success&&success()}}(typedoc||(typedoc={})),function(typedoc){var SignatureGroup=function(){function SignatureGroup($signature,$description){this.$signature=$signature,this.$description=$description}return SignatureGroup.prototype.addClass=function(className){return this.$signature.addClass(className),this.$description.addClass(className),this},SignatureGroup.prototype.removeClass=function(className){return this.$signature.removeClass(className),this.$description.removeClass(className),this},SignatureGroup}(),Signature=function(_super){function Signature(options){var _this=_super.call(this,options)||this;return _this.groups=[],_this.index=-1,_this.createGroups(),_this.$container&&(_this.$el.addClass("active").on("touchstart",".tsd-signature",function(event){return _this.onClick(event)}).on("click",".tsd-signature",function(event){return _this.onClick(event)}),_this.$container.addClass("active"),_this.setIndex(0)),_this}return __extends(Signature,_super),Signature.prototype.setIndex=function(index){if(index<0&&(index=0),index>this.groups.length-1&&(index=this.groups.length-1),this.index!=index){var to=this.groups[index];if(-1<this.index){var from=this.groups[this.index];typedoc.animateHeight(this.$container,function(){from.removeClass("current").addClass("fade-out"),to.addClass("current fade-in"),typedoc.viewport.triggerResize()}),setTimeout(function(){from.removeClass("fade-out"),to.removeClass("fade-in")},300)}else to.addClass("current"),typedoc.viewport.triggerResize();this.index=index}},Signature.prototype.createGroups=function(){var _this=this,$signatures=this.$el.find("> .tsd-signature");if(!($signatures.length<2)){this.$container=this.$el.siblings(".tsd-descriptions");var $descriptions=this.$container.find("> .tsd-description");this.groups=[],$signatures.each(function(index,el){_this.groups.push(new SignatureGroup($(el),$descriptions.eq(index)))})}},Signature.prototype.onClick=function(e){var _this=this;_(this.groups).forEach(function(group,index){group.$signature.is(e.currentTarget)&&_this.setIndex(index)})},Signature}(Backbone.View);typedoc.registerComponent(Signature,".tsd-signatures")}(typedoc||(typedoc={})),function(typedoc){var Toggle=function(_super){function Toggle(options){var _this=_super.call(this,options)||this;return _this.className=_this.$el.attr("data-toggle")||"",_this.$el.on(typedoc.pointerUp,function(e){return _this.onPointerUp(e)}),_this.$el.on("click",function(e){return e.preventDefault()}),typedoc.$document.on(typedoc.pointerDown,function(e){return _this.onDocumentPointerDown(e)}),typedoc.$document.on(typedoc.pointerUp,function(e){return _this.onDocumentPointerUp(e)}),_this}return __extends(Toggle,_super),Toggle.prototype.setActive=function(value){if(this.active!=value){this.active=value,typedoc.$html.toggleClass("has-"+this.className,value),this.$el.toggleClass("active",value);var transition=(this.active?"to-has-":"from-has-")+this.className;typedoc.$html.addClass(transition),setTimeout(function(){return typedoc.$html.removeClass(transition)},500)}},Toggle.prototype.onPointerUp=function(event){typedoc.hasPointerMoved||(this.setActive(!0),event.preventDefault())},Toggle.prototype.onDocumentPointerDown=function(e){if(this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu"))return;if($path.hasClass("tsd-filter-group"))return;this.setActive(!1)}},Toggle.prototype.onDocumentPointerUp=function(e){var _this=this;if(!typedoc.hasPointerMoved&&this.active){var $path=$(e.target).parents().addBack();if($path.hasClass("col-menu")){var $link=$path.filter("a");if($link.length){var href=window.location.href;-1!=href.indexOf("#")&&(href=href.substr(0,href.indexOf("#"))),$link.prop("href").substr(0,href.length)==href&&setTimeout(function(){return _this.setActive(!1)},250)}}}},Toggle}(Backbone.View);typedoc.registerComponent(Toggle,"a[data-toggle]")}(typedoc||(typedoc={})),function(typedoc){typedoc.app=new typedoc.Application}(typedoc||(typedoc={}));
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 2d52d30..edc2770 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,8 +1,14372 @@
 {
   "name": "@mathcoach/ide-api",
   "version": "3.0.0",
-  "lockfileVersion": 1,
+  "lockfileVersion": 2,
   "requires": true,
+  "packages": {
+    "": {
+      "name": "@mathcoach/ide-api",
+      "version": "3.0.0",
+      "devDependencies": {
+        "ava": "^3.5.0",
+        "marked": "0.8.0",
+        "nyc": "^15.0.0",
+        "parcel": "^1.12.4",
+        "rimraf": "^3.0.2",
+        "ts-node": "^8.7.0",
+        "tsconfig-paths": "^3.9.0",
+        "typedoc": "^0.17.1",
+        "typescript": "^3.8.3"
+      }
+    },
+    "node_modules/@babel/code-frame": {
+      "version": "7.5.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+      "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/compat-data": {
+      "version": "7.8.5",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.8.5.tgz",
+      "integrity": "sha512-jWYUqQX/ObOhG1UiEkbH5SANsE/8oKXiQWjj7p7xgj9Zmnt//aUvyz4dBkK0HNsS8/cbyC5NmmH87VekW+mXFg==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.8.5",
+        "invariant": "^2.2.4",
+        "semver": "^5.5.0"
+      }
+    },
+    "node_modules/@babel/core": {
+      "version": "7.7.5",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.5.tgz",
+      "integrity": "sha512-M42+ScN4+1S9iB6f+TL7QBpoQETxbclx+KNoKJABghnKYE+fMzSGqst0BZJc8CpI625bwPwYgUyRvxZ+0mZzpw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.5.5",
+        "@babel/generator": "^7.7.4",
+        "@babel/helpers": "^7.7.4",
+        "@babel/parser": "^7.7.5",
+        "@babel/template": "^7.7.4",
+        "@babel/traverse": "^7.7.4",
+        "@babel/types": "^7.7.4",
+        "convert-source-map": "^1.7.0",
+        "debug": "^4.1.0",
+        "json5": "^2.1.0",
+        "lodash": "^4.17.13",
+        "resolve": "^1.3.2",
+        "semver": "^5.4.1",
+        "source-map": "^0.5.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@babel/core/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@babel/generator": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.4.tgz",
+      "integrity": "sha512-m5qo2WgdOJeyYngKImbkyQrnUN1mPceaG5BV+G0E3gWsa4l/jCSryWJdM2x8OuGAOyh+3d5pVYfZWCiNFtynxg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.7.4",
+        "jsesc": "^2.5.1",
+        "lodash": "^4.17.13",
+        "source-map": "^0.5.0"
+      }
+    },
+    "node_modules/@babel/generator/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
+      "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-explode-assignable-expression": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-builder-react-jsx": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.8.3.tgz",
+      "integrity": "sha512-JT8mfnpTkKNCboTqZsQTdGo3l3Ik3l7QIt9hh0O9DYiwVel37VoJpILKM4YFbP2euF32nkQSb+F9cUk9b7DDXQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3",
+        "esutils": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-builder-react-jsx/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.3.tgz",
+      "integrity": "sha512-6Q05px0Eb+N4/GTyKPPvnkig7Lylw+QzihMpws9iiZQv7ZImf84ZsZpQH7QoWN4n4tm81SnSzPgHw2qtO0Zf3A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-hoist-variables": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/generator": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz",
+      "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3",
+        "jsesc": "^2.5.1",
+        "lodash": "^4.17.13",
+        "source-map": "^0.5.0"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/helper-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+      "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/traverse": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz",
+      "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/generator": "^7.8.4",
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/parser": "^7.8.4",
+        "@babel/types": "^7.8.3",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-call-delegate/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@babel/helper-compilation-targets": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.8.4.tgz",
+      "integrity": "sha512-3k3BsKMvPp5bjxgMdrFyq0UaEO48HciVrOVF0+lon8pp95cyJ2ujAh0TrBHNMnJGT2rr0iKOJPFFbSqjDyf/Pg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/compat-data": "^7.8.4",
+        "browserslist": "^4.8.5",
+        "invariant": "^2.2.4",
+        "levenary": "^1.1.1",
+        "semver": "^5.5.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/helper-define-map": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
+      "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/types": "^7.8.3",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/helper-define-map/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-define-map/node_modules/@babel/helper-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+      "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-define-map/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-define-map/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/helper-define-map/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/helper-define-map/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-define-map/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
+      "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/generator": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz",
+      "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3",
+        "jsesc": "^2.5.1",
+        "lodash": "^4.17.13",
+        "source-map": "^0.5.0"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/helper-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+      "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/traverse": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz",
+      "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/generator": "^7.8.4",
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/parser": "^7.8.4",
+        "@babel/types": "^7.8.3",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-explode-assignable-expression/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@babel/helper-function-name": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.7.4.tgz",
+      "integrity": "sha512-AnkGIdiBhEuiwdoMnKm7jfPfqItZhgRaZfMg1XX3bS25INOnLPjPG1Ppnajh8eqgt5kPJnfqrRHqFqmjKDZLzQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.7.4",
+        "@babel/template": "^7.7.4",
+        "@babel/types": "^7.7.4"
+      }
+    },
+    "node_modules/@babel/helper-get-function-arity": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.7.4.tgz",
+      "integrity": "sha512-QTGKEdCkjgzgfJ3bAyRwF4yyT3pg+vDgan8DSivq1eS0gwi+KGKE5x8kRcbeFTb/673mkO5SN1IZfmCfA5o+EA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.7.4"
+      }
+    },
+    "node_modules/@babel/helper-hoist-variables": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
+      "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-hoist-variables/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-member-expression-to-functions": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+      "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-member-expression-to-functions/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-module-imports": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.7.4.tgz",
+      "integrity": "sha512-dGcrX6K9l8258WFjyDLJwuVKxR4XZfU0/vTUgOQYWEnRD8mgr+p4d6fCUMq/ys0h4CCt/S5JhbvtyErjWouAUQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.7.4"
+      }
+    },
+    "node_modules/@babel/helper-module-transforms": {
+      "version": "7.7.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.7.5.tgz",
+      "integrity": "sha512-A7pSxyJf1gN5qXVcidwLWydjftUN878VkalhXX5iQDuGyiGK3sOrrKKHF4/A4fwHtnsotv/NipwAeLzY4KQPvw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.7.4",
+        "@babel/helper-simple-access": "^7.7.4",
+        "@babel/helper-split-export-declaration": "^7.7.4",
+        "@babel/template": "^7.7.4",
+        "@babel/types": "^7.7.4",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/helper-optimise-call-expression": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+      "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-optimise-call-expression/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-plugin-utils": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
+      "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+      "dev": true
+    },
+    "node_modules/@babel/helper-replace-supers": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.3.tgz",
+      "integrity": "sha512-xOUssL6ho41U81etpLoT2RTdvdus4VfHamCuAm4AHxGr+0it5fnwoVdwUJ7GFEqCsQYzJUhcbsN9wB9apcYKFA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-member-expression-to-functions": "^7.8.3",
+        "@babel/helper-optimise-call-expression": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/generator": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz",
+      "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3",
+        "jsesc": "^2.5.1",
+        "lodash": "^4.17.13",
+        "source-map": "^0.5.0"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+      "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/traverse": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz",
+      "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/generator": "^7.8.4",
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/parser": "^7.8.4",
+        "@babel/types": "^7.8.3",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/helper-replace-supers/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@babel/helper-simple-access": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.7.4.tgz",
+      "integrity": "sha512-zK7THeEXfan7UlWsG2A6CI/L9jVnI5+xxKZOdej39Y0YtDYKx9raHk5F2EtK9K8DHRTihYwg20ADt9S36GR78A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/template": "^7.7.4",
+        "@babel/types": "^7.7.4"
+      }
+    },
+    "node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.7.4.tgz",
+      "integrity": "sha512-guAg1SXFcVr04Guk9eq0S4/rWS++sbmyqosJzVs8+1fH5NI+ZcmkaSkc7dmtAFbHFva6yRJnjW3yAcGxjueDug==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.7.4"
+      }
+    },
+    "node_modules/@babel/helpers": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.7.4.tgz",
+      "integrity": "sha512-ak5NGZGJ6LV85Q1Zc9gn2n+ayXOizryhjSUBTdu5ih1tlVCJeuQENzc4ItyCVhINVXvIT/ZQ4mheGIsfBkpskg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/template": "^7.7.4",
+        "@babel/traverse": "^7.7.4",
+        "@babel/types": "^7.7.4"
+      }
+    },
+    "node_modules/@babel/highlight": {
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+      "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/parser": {
+      "version": "7.7.5",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.7.5.tgz",
+      "integrity": "sha512-KNlOe9+/nk4i29g0VXgl8PEXIRms5xKLJeuZ6UptN0fHv+jDiriG+y94X6qAgWTR0h3KaoM1wK5G5h7MHFRSig==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
+      "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-json-strings": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-json-strings/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-nullish-coalescing-operator/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-proposal-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-object-rest-spread/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-proposal-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-QIoIR9abkVn+seDE3OjA08jWcs3eZ9+wJCKSRgo3WdEU2csFYgdScb+8qHB3+WXsGJD55u+5hWCISI7ejXS+kg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-optional-chaining/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-proposal-unicode-property-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz",
+      "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "engines": {
+        "node": ">=4"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/@babel/helper-create-regexp-features-plugin": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz",
+      "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-regex": "^7.8.3",
+        "regexpu-core": "^4.6.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-proposal-unicode-property-regex/node_modules/@babel/helper-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+      "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-flow": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.8.3.tgz",
+      "integrity": "sha512-innAx3bUbA0KSYj2E2MNFSn9hiCeowOFLxlsuhXzw8hMQnzkDomUr9QCD7E9VF60NmnG1sNTuuv6Qf4f8INYsg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-flow/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-syntax-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-json-strings/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-syntax-jsx": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.8.3.tgz",
+      "integrity": "sha512-WxdW9xyLgBdefoo0Ynn3MRSkhe5tFVxxKNVdnZSh318WrG2e2jH+E9wd/++JsqcLJZPfz87njQJ8j2Upjm0M0A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-jsx/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-syntax-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-object-rest-spread/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-syntax-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-optional-chaining/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-syntax-top-level-await": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
+      "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-syntax-top-level-await/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-arrow-functions": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
+      "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-arrow-functions/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
+      "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-remap-async-to-generator": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/generator": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz",
+      "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3",
+        "jsesc": "^2.5.1",
+        "lodash": "^4.17.13",
+        "source-map": "^0.5.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-annotate-as-pure": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+      "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+      "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-module-imports": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+      "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-remap-async-to-generator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
+      "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.8.3",
+        "@babel/helper-wrap-function": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/helper-wrap-function": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
+      "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/traverse": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz",
+      "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/generator": "^7.8.4",
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/parser": "^7.8.4",
+        "@babel/types": "^7.8.3",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-async-to-generator/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-block-scoped-functions": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
+      "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-block-scoped-functions/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-block-scoping": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
+      "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "lodash": "^4.17.13"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-block-scoping/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-classes": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.3.tgz",
+      "integrity": "sha512-SjT0cwFJ+7Rbr1vQsvphAHwUHvSUPmMjMU/0P59G8U2HLFqSa082JO7zkbDNWs9kH/IUqpHI6xWNesGf8haF1w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.8.3",
+        "@babel/helper-define-map": "^7.8.3",
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-optimise-call-expression": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-replace-supers": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "globals": "^11.1.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+      "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+      "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-classes/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-computed-properties": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
+      "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-computed-properties/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-destructuring": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz",
+      "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-destructuring/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-duplicate-keys": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
+      "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-duplicate-keys/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-exponentiation-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
+      "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-exponentiation-operator/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-flow-strip-types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.8.3.tgz",
+      "integrity": "sha512-g/6WTWG/xbdd2exBBzMfygjX/zw4eyNC4X8pRaq7aRHRoDUCzAIu3kGYIXviOv8BjCuWm8vDBwjHcjiRNgXrPA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-flow": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-flow-strip-types/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-for-of": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.4.tgz",
+      "integrity": "sha512-iAXNlOWvcYUYoV8YIxwS7TxGRJcxyl8eQCfT+A5j8sKUzRFvJdcyjp97jL2IghWSRDaL2PU2O2tX8Cu9dTBq5A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-for-of/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
+      "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/helper-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+      "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-function-name/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-literals": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
+      "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-literals/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-member-expression-literals": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
+      "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-member-expression-literals/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-modules-amd": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz",
+      "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "babel-plugin-dynamic-import-node": "^2.3.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/helper-module-imports": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+      "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/helper-module-transforms": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz",
+      "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-simple-access": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/helper-simple-access": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+      "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-amd/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-commonjs": {
+      "version": "7.7.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.7.5.tgz",
+      "integrity": "sha512-9Cq4zTFExwFhQI6MT1aFxgqhIsMWQWDVwOgLzl7PTWJHsNaqFvklAU+Oz6AQLAS0dJKTwZSOCo20INwktxpi3Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.7.5",
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@babel/helper-simple-access": "^7.7.4",
+        "babel-plugin-dynamic-import-node": "^2.3.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz",
+      "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-hoist-variables": "^7.8.3",
+        "@babel/helper-module-transforms": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "babel-plugin-dynamic-import-node": "^2.3.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/helper-module-imports": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+      "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/helper-module-transforms": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz",
+      "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-simple-access": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/helper-simple-access": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+      "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-systemjs/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz",
+      "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/helper-module-imports": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+      "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/helper-module-transforms": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz",
+      "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-simple-access": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/helper-simple-access": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+      "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-modules-umd/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
+      "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-named-capturing-groups-regex/node_modules/@babel/helper-create-regexp-features-plugin": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz",
+      "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-regex": "^7.8.3",
+        "regexpu-core": "^4.6.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-named-capturing-groups-regex/node_modules/@babel/helper-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+      "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/plugin-transform-new-target": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
+      "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-new-target/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-object-super": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
+      "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-replace-supers": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-object-super/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-parameters": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.4.tgz",
+      "integrity": "sha512-IsS3oTxeTsZlE5KqzTbcC2sV0P9pXdec53SU+Yxv7o/6dvGM5AkTotQKhoSffhNgZ/dftsSiOoxy7evCYJXzVA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-call-delegate": "^7.8.3",
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-parameters/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-parameters/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-parameters/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-property-literals": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
+      "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-property-literals/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-react-jsx": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.8.3.tgz",
+      "integrity": "sha512-r0h+mUiyL595ikykci+fbwm9YzmuOrUBi0b+FDIKmi3fPQyFokWVEMJnRWHJPPQEjyFJyna9WZC6Viv6UHSv1g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-builder-react-jsx": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-jsx": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-react-jsx/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-regenerator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.3.tgz",
+      "integrity": "sha512-qt/kcur/FxrQrzFR432FGZznkVAjiyFtCOANjkAKwCbt465L6ZCiUQh2oMYGU3Wo8LRFJxNDFwWn106S5wVUNA==",
+      "dev": true,
+      "dependencies": {
+        "regenerator-transform": "^0.14.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-reserved-words": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
+      "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-reserved-words/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-shorthand-properties": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
+      "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-shorthand-properties/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
+      "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-spread/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-sticky-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
+      "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-regex": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-sticky-regex/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-sticky-regex/node_modules/@babel/helper-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+      "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/plugin-transform-template-literals": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
+      "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-template-literals/node_modules/@babel/helper-annotate-as-pure": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+      "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/plugin-transform-template-literals/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-template-literals/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-typeof-symbol": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
+      "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-typeof-symbol/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-unicode-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
+      "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-unicode-regex/node_modules/@babel/helper-create-regexp-features-plugin": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz",
+      "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-regex": "^7.8.3",
+        "regexpu-core": "^4.6.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-unicode-regex/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/plugin-transform-unicode-regex/node_modules/@babel/helper-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+      "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/preset-env": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.8.4.tgz",
+      "integrity": "sha512-HihCgpr45AnSOHRbS5cWNTINs0TwaR8BS8xIIH+QwiW8cKL0llV91njQMpeMReEPVs+1Ao0x3RLEBLtt1hOq4w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/compat-data": "^7.8.4",
+        "@babel/helper-compilation-targets": "^7.8.4",
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
+        "@babel/plugin-proposal-dynamic-import": "^7.8.3",
+        "@babel/plugin-proposal-json-strings": "^7.8.3",
+        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
+        "@babel/plugin-proposal-object-rest-spread": "^7.8.3",
+        "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
+        "@babel/plugin-proposal-optional-chaining": "^7.8.3",
+        "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
+        "@babel/plugin-syntax-async-generators": "^7.8.0",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+        "@babel/plugin-syntax-json-strings": "^7.8.0",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+        "@babel/plugin-syntax-top-level-await": "^7.8.3",
+        "@babel/plugin-transform-arrow-functions": "^7.8.3",
+        "@babel/plugin-transform-async-to-generator": "^7.8.3",
+        "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
+        "@babel/plugin-transform-block-scoping": "^7.8.3",
+        "@babel/plugin-transform-classes": "^7.8.3",
+        "@babel/plugin-transform-computed-properties": "^7.8.3",
+        "@babel/plugin-transform-destructuring": "^7.8.3",
+        "@babel/plugin-transform-dotall-regex": "^7.8.3",
+        "@babel/plugin-transform-duplicate-keys": "^7.8.3",
+        "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
+        "@babel/plugin-transform-for-of": "^7.8.4",
+        "@babel/plugin-transform-function-name": "^7.8.3",
+        "@babel/plugin-transform-literals": "^7.8.3",
+        "@babel/plugin-transform-member-expression-literals": "^7.8.3",
+        "@babel/plugin-transform-modules-amd": "^7.8.3",
+        "@babel/plugin-transform-modules-commonjs": "^7.8.3",
+        "@babel/plugin-transform-modules-systemjs": "^7.8.3",
+        "@babel/plugin-transform-modules-umd": "^7.8.3",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
+        "@babel/plugin-transform-new-target": "^7.8.3",
+        "@babel/plugin-transform-object-super": "^7.8.3",
+        "@babel/plugin-transform-parameters": "^7.8.4",
+        "@babel/plugin-transform-property-literals": "^7.8.3",
+        "@babel/plugin-transform-regenerator": "^7.8.3",
+        "@babel/plugin-transform-reserved-words": "^7.8.3",
+        "@babel/plugin-transform-shorthand-properties": "^7.8.3",
+        "@babel/plugin-transform-spread": "^7.8.3",
+        "@babel/plugin-transform-sticky-regex": "^7.8.3",
+        "@babel/plugin-transform-template-literals": "^7.8.3",
+        "@babel/plugin-transform-typeof-symbol": "^7.8.4",
+        "@babel/plugin-transform-unicode-regex": "^7.8.3",
+        "@babel/types": "^7.8.3",
+        "browserslist": "^4.8.5",
+        "core-js-compat": "^3.6.2",
+        "invariant": "^2.2.2",
+        "levenary": "^1.1.1",
+        "semver": "^5.5.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/code-frame": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+      "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+      "dev": true,
+      "dependencies": {
+        "@babel/highlight": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/generator": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.4.tgz",
+      "integrity": "sha512-PwhclGdRpNAf3IxZb0YVuITPZmmrXz9zf6fH8lT4XbrmfQKr6ryBzhv593P5C6poJRciFCL/eHGW2NuGrgEyxA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3",
+        "jsesc": "^2.5.1",
+        "lodash": "^4.17.13",
+        "source-map": "^0.5.0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-annotate-as-pure": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+      "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-create-regexp-features-plugin": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.3.tgz",
+      "integrity": "sha512-Gcsm1OHCUr9o9TcJln57xhWHtdXbA2pgQ58S0Lxlks0WMGNXuki4+GLfX0p+L2ZkINUGZvfkz8rzoqJQSthI+Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-regex": "^7.8.3",
+        "regexpu-core": "^4.6.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+      "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-get-function-arity": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+      "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-module-imports": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+      "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-module-transforms": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.3.tgz",
+      "integrity": "sha512-C7NG6B7vfBa/pwCOshpMbOYUmrYQDfCpVL/JCRu0ek8B5p8kue1+BCXpg2vOYs7w5ACB9GTOBYQ5U6NwrMg+3Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-simple-access": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+      "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-remap-async-to-generator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
+      "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.8.3",
+        "@babel/helper-wrap-function": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-simple-access": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+      "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+      "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/helper-wrap-function": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
+      "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/highlight": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+      "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/parser": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.4.tgz",
+      "integrity": "sha512-0fKu/QqildpXmPVaRBoXOlyBb3MC+J0A66x97qEfLOMkn3u6nfY5esWogQwi/K0BjASYy4DbnsEWnpNL6qT5Mw==",
+      "dev": true,
+      "bin": {
+        "parser": "bin/babel-parser.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-async-generator-functions": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
+      "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-remap-async-to-generator": "^7.8.3",
+        "@babel/plugin-syntax-async-generators": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/plugin-syntax-async-generators": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/plugin-syntax-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/plugin-syntax-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-dotall-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
+      "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/plugin-transform-modules-commonjs": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz",
+      "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-module-transforms": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-simple-access": "^7.8.3",
+        "babel-plugin-dynamic-import-node": "^2.3.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/template": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.3.tgz",
+      "integrity": "sha512-04m87AcQgAFdvuoyiQ2kgELr2tV8B4fP/xJAVUL3Yb3bkNdMedD3d0rlSQr3PegP0cms3eHjl1F7PWlvWbU8FQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/traverse": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.4.tgz",
+      "integrity": "sha512-NGLJPZwnVEyBPLI+bl9y9aSnxMhsKz42so7ApAv9D+b4vAFPpY013FTS9LdKxcABoIYFU52HcYga1pPlx454mg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/generator": "^7.8.4",
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/parser": "^7.8.4",
+        "@babel/types": "^7.8.3",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/@babel/types": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.3.tgz",
+      "integrity": "sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@babel/preset-env/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@babel/runtime": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz",
+      "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==",
+      "dev": true,
+      "dependencies": {
+        "regenerator-runtime": "^0.13.2"
+      }
+    },
+    "node_modules/@babel/template": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.7.4.tgz",
+      "integrity": "sha512-qUzihgVPguAzXCK7WXw8pqs6cEwi54s3E+HrejlkuWO6ivMKx9hZl3Y2fSXp9i5HgyWmj7RKP+ulaYnKM4yYxw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.0.0",
+        "@babel/parser": "^7.7.4",
+        "@babel/types": "^7.7.4"
+      }
+    },
+    "node_modules/@babel/traverse": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.7.4.tgz",
+      "integrity": "sha512-P1L58hQyupn8+ezVA2z5KBm4/Zr4lCC8dwKCMYzsa5jFMDMQAzaBNy9W5VjB+KAmBjb40U7a/H6ao+Xo+9saIw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.5.5",
+        "@babel/generator": "^7.7.4",
+        "@babel/helper-function-name": "^7.7.4",
+        "@babel/helper-split-export-declaration": "^7.7.4",
+        "@babel/parser": "^7.7.4",
+        "@babel/types": "^7.7.4",
+        "debug": "^4.1.0",
+        "globals": "^11.1.0",
+        "lodash": "^4.17.13"
+      }
+    },
+    "node_modules/@babel/types": {
+      "version": "7.7.4",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.7.4.tgz",
+      "integrity": "sha512-cz5Ji23KCi4T+YIE/BolWosrJuSmoZeN1EFnRtBwF+KKLi8GG/Z2c2hOJJeCXPk4mwk4QFvTmwIodJowXgttRA==",
+      "dev": true,
+      "dependencies": {
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.13",
+        "to-fast-properties": "^2.0.0"
+      }
+    },
+    "node_modules/@concordance/react": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@concordance/react/-/react-2.0.0.tgz",
+      "integrity": "sha512-huLSkUuM2/P+U0uy2WwlKuixMsTODD8p4JVQBI4VKeopkiN0C7M3N9XYVawb4M+4spN5RrO/eLhk7KoQX6nsfA==",
+      "dev": true,
+      "dependencies": {
+        "arrify": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=6.12.3 <7 || >=8.9.4 <9 || >=10.0.0"
+      }
+    },
+    "node_modules/@concordance/react/node_modules/arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@iarna/toml": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-2.2.3.tgz",
+      "integrity": "sha512-FmuxfCuolpLl0AnQ2NHSzoUKWEJDFl63qXjzdoWBVyFCXzMGm1spBzk7LeHNoVCiWCF7mRVms9e6jEV9+MoPbg==",
+      "dev": true
+    },
+    "node_modules/@istanbuljs/load-nyc-config": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.0.0.tgz",
+      "integrity": "sha512-ZR0rq/f/E4f4XcgnDvtMWXCUJpi8eO0rssVhmztsZqLIEFA9UUP9zmpE0VxlM+kv/E1ul2I876Fwil2ayptDVg==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.3.1",
+        "find-up": "^4.1.0",
+        "js-yaml": "^3.13.1",
+        "resolve-from": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@istanbuljs/schema": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+      "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/@mrmlnc/readdir-enhanced": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
+      "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
+      "dev": true,
+      "dependencies": {
+        "call-me-maybe": "^1.0.1",
+        "glob-to-regexp": "^0.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@nodelib/fs.scandir": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+      "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "2.0.3",
+        "run-parallel": "^1.1.9"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.stat": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+      "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@nodelib/fs.walk": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+      "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.scandir": "2.1.3",
+        "fastq": "^1.6.0"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/@parcel/fs": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/@parcel/fs/-/fs-1.11.0.tgz",
+      "integrity": "sha512-86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==",
+      "dev": true,
+      "dependencies": {
+        "@parcel/utils": "^1.11.0",
+        "mkdirp": "^0.5.1",
+        "rimraf": "^2.6.2"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/@parcel/fs/node_modules/rimraf": {
+      "version": "2.7.1",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
+    "node_modules/@parcel/logger": {
+      "version": "1.11.1",
+      "resolved": "https://registry.npmjs.org/@parcel/logger/-/logger-1.11.1.tgz",
+      "integrity": "sha512-9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==",
+      "dev": true,
+      "dependencies": {
+        "@parcel/workers": "^1.11.0",
+        "chalk": "^2.1.0",
+        "grapheme-breaker": "^0.3.2",
+        "ora": "^2.1.0",
+        "strip-ansi": "^4.0.0"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/@parcel/logger/node_modules/ansi-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@parcel/logger/node_modules/cli-cursor": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
+      "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
+      "dev": true,
+      "dependencies": {
+        "restore-cursor": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@parcel/logger/node_modules/cli-spinners": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-1.3.1.tgz",
+      "integrity": "sha512-1QL4544moEsDVH9T/l6Cemov/37iv1RtoKf7NJ04A60+4MREXNfx/QvavbH6QoGdsD4N4Mwy49cmaINR/o2mdg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@parcel/logger/node_modules/mimic-fn": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
+      "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@parcel/logger/node_modules/onetime": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
+      "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
+      "dev": true,
+      "dependencies": {
+        "mimic-fn": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@parcel/logger/node_modules/ora": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-2.1.0.tgz",
+      "integrity": "sha512-hNNlAd3gfv/iPmsNxYoAPLvxg7HuPozww7fFonMZvL84tP6Ox5igfk5j/+a9rtJJwqMgKK+JgWsAQik5o0HTLA==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.3.1",
+        "cli-cursor": "^2.1.0",
+        "cli-spinners": "^1.1.0",
+        "log-symbols": "^2.2.0",
+        "strip-ansi": "^4.0.0",
+        "wcwidth": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@parcel/logger/node_modules/restore-cursor": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
+      "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
+      "dev": true,
+      "dependencies": {
+        "onetime": "^2.0.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@parcel/logger/node_modules/strip-ansi": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+      "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/@parcel/utils": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/@parcel/utils/-/utils-1.11.0.tgz",
+      "integrity": "sha512-cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/@parcel/watcher": {
+      "version": "1.12.1",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-1.12.1.tgz",
+      "integrity": "sha512-od+uCtCxC/KoNQAIE1vWx1YTyKYY+7CTrxBJPRh3cDWw/C0tCtlBMVlrbplscGoEpt6B27KhJDCv82PBxOERNA==",
+      "dev": true,
+      "dependencies": {
+        "@parcel/utils": "^1.11.0",
+        "chokidar": "^2.1.5"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/anymatch": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+      "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+      "dev": true,
+      "dependencies": {
+        "micromatch": "^3.1.4",
+        "normalize-path": "^2.1.1"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/anymatch/node_modules/normalize-path": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+      "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "dev": true,
+      "dependencies": {
+        "remove-trailing-separator": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/binary-extensions": {
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
+      "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/braces": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
+      "dependencies": {
+        "arr-flatten": "^1.1.0",
+        "array-unique": "^0.3.2",
+        "extend-shallow": "^2.0.1",
+        "fill-range": "^4.0.0",
+        "isobject": "^3.0.1",
+        "repeat-element": "^1.1.2",
+        "snapdragon": "^0.8.1",
+        "snapdragon-node": "^2.0.1",
+        "split-string": "^3.0.2",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/braces/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/chokidar": {
+      "version": "2.1.8",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+      "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+      "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies",
+      "dev": true,
+      "dependencies": {
+        "anymatch": "^2.0.0",
+        "async-each": "^1.0.1",
+        "braces": "^2.3.2",
+        "glob-parent": "^3.1.0",
+        "inherits": "^2.0.3",
+        "is-binary-path": "^1.0.0",
+        "is-glob": "^4.0.0",
+        "normalize-path": "^3.0.0",
+        "path-is-absolute": "^1.0.0",
+        "readdirp": "^2.2.1",
+        "upath": "^1.1.1"
+      },
+      "optionalDependencies": {
+        "fsevents": "^1.2.7"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fill-range": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^2.0.1",
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1",
+        "to-regex-range": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fill-range/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents": {
+      "version": "1.2.11",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz",
+      "integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==",
+      "bundleDependencies": [
+        "node-pre-gyp"
+      ],
+      "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "dependencies": {
+        "bindings": "^1.5.0",
+        "nan": "^2.12.1",
+        "node-pre-gyp": "*"
+      },
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/abbrev": {
+      "version": "1.1.1",
+      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/aproba": {
+      "version": "1.2.0",
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/are-we-there-yet": {
+      "version": "1.1.5",
+      "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "delegates": "^1.0.0",
+        "readable-stream": "^2.0.6"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/balanced-match": {
+      "version": "1.0.0",
+      "integrity": "sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/brace-expansion": {
+      "version": "1.1.11",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/chownr": {
+      "version": "1.1.3",
+      "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/code-point-at": {
+      "version": "1.1.0",
+      "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/concat-map": {
+      "version": "0.0.1",
+      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/console-control-strings": {
+      "version": "1.1.0",
+      "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/core-util-is": {
+      "version": "1.0.2",
+      "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/debug": {
+      "version": "3.2.6",
+      "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+      "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/deep-extend": {
+      "version": "0.6.0",
+      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/delegates": {
+      "version": "1.0.0",
+      "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/detect-libc": {
+      "version": "1.0.3",
+      "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "bin": {
+        "detect-libc": "bin/detect-libc.js"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/fs-minipass": {
+      "version": "1.2.7",
+      "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "minipass": "^2.6.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/fs.realpath": {
+      "version": "1.0.0",
+      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/gauge": {
+      "version": "2.7.4",
+      "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "aproba": "^1.0.3",
+        "console-control-strings": "^1.0.0",
+        "has-unicode": "^2.0.0",
+        "object-assign": "^4.1.0",
+        "signal-exit": "^3.0.0",
+        "string-width": "^1.0.1",
+        "strip-ansi": "^3.0.1",
+        "wide-align": "^1.1.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/glob": {
+      "version": "7.1.6",
+      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/has-unicode": {
+      "version": "2.0.1",
+      "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/iconv-lite": {
+      "version": "0.4.24",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/ignore-walk": {
+      "version": "3.0.3",
+      "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "minimatch": "^3.0.4"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/inflight": {
+      "version": "1.0.6",
+      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/inherits": {
+      "version": "2.0.4",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/ini": {
+      "version": "1.3.5",
+      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+      "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/is-fullwidth-code-point": {
+      "version": "1.0.0",
+      "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "number-is-nan": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/isarray": {
+      "version": "1.0.0",
+      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/minimatch": {
+      "version": "3.0.4",
+      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/minimist": {
+      "version": "0.0.8",
+      "integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/minipass": {
+      "version": "2.9.0",
+      "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "safe-buffer": "^5.1.2",
+        "yallist": "^3.0.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/minizlib": {
+      "version": "1.3.3",
+      "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "minipass": "^2.9.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/mkdirp": {
+      "version": "0.5.1",
+      "integrity": "sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA==",
+      "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "minimist": "0.0.8"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/ms": {
+      "version": "2.1.2",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/needle": {
+      "version": "2.4.0",
+      "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "debug": "^3.2.6",
+        "iconv-lite": "^0.4.4",
+        "sax": "^1.2.4"
+      },
+      "bin": {
+        "needle": "bin/needle"
+      },
+      "engines": {
+        "node": ">= 4.4.x"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/node-pre-gyp": {
+      "version": "0.14.0",
+      "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==",
+      "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "detect-libc": "^1.0.2",
+        "mkdirp": "^0.5.1",
+        "needle": "^2.2.1",
+        "nopt": "^4.0.1",
+        "npm-packlist": "^1.1.6",
+        "npmlog": "^4.0.2",
+        "rc": "^1.2.7",
+        "rimraf": "^2.6.1",
+        "semver": "^5.3.0",
+        "tar": "^4.4.2"
+      },
+      "bin": {
+        "node-pre-gyp": "bin/node-pre-gyp"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/nopt": {
+      "version": "4.0.1",
+      "integrity": "sha512-+5XZFpQZEY0cg5JaxLwGxDlKNKYxuXwGt8/Oi3UXm5/4ymrJve9d2CURituxv3rSrVCGZj4m1U1JlHTdcKt2Ng==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "abbrev": "1",
+        "osenv": "^0.1.4"
+      },
+      "bin": {
+        "nopt": "bin/nopt.js"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/npm-bundled": {
+      "version": "1.1.1",
+      "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "npm-normalize-package-bin": "^1.0.1"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/npm-normalize-package-bin": {
+      "version": "1.0.1",
+      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/npm-packlist": {
+      "version": "1.4.7",
+      "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "ignore-walk": "^3.0.1",
+        "npm-bundled": "^1.0.1"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/npmlog": {
+      "version": "4.1.2",
+      "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "are-we-there-yet": "~1.1.2",
+        "console-control-strings": "~1.1.0",
+        "gauge": "~2.7.3",
+        "set-blocking": "~2.0.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/number-is-nan": {
+      "version": "1.0.1",
+      "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/object-assign": {
+      "version": "4.1.1",
+      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/once": {
+      "version": "1.4.0",
+      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "wrappy": "1"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/os-homedir": {
+      "version": "1.0.2",
+      "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/os-tmpdir": {
+      "version": "1.0.2",
+      "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/osenv": {
+      "version": "0.1.5",
+      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "os-homedir": "^1.0.0",
+        "os-tmpdir": "^1.0.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/path-is-absolute": {
+      "version": "1.0.1",
+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/process-nextick-args": {
+      "version": "2.0.1",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/rc": {
+      "version": "1.2.8",
+      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "deep-extend": "^0.6.0",
+        "ini": "~1.3.0",
+        "minimist": "^1.2.0",
+        "strip-json-comments": "~2.0.1"
+      },
+      "bin": {
+        "rc": "cli.js"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/rc/node_modules/minimist": {
+      "version": "1.2.0",
+      "integrity": "sha512-7Wl+Jz+IGWuSdgsQEJ4JunV0si/iMhg42MnQQG6h1R6TNeVenp4U9x5CC5v/gYqz/fENLQITAWXidNtVL0NNbw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/readable-stream": {
+      "version": "2.3.6",
+      "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/rimraf": {
+      "version": "2.7.1",
+      "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/safer-buffer": {
+      "version": "2.1.2",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/sax": {
+      "version": "1.2.4",
+      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/semver": {
+      "version": "5.7.1",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/set-blocking": {
+      "version": "2.0.0",
+      "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/signal-exit": {
+      "version": "3.0.2",
+      "integrity": "sha512-meQNNykwecVxdu1RlYMKpQx4+wefIYpmxi6gexo/KAbwquJrBUrBmKYJrE8KFkVQAAVWEnwNdu21PgrD77J3xA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/string-width": {
+      "version": "1.0.2",
+      "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "code-point-at": "^1.0.0",
+        "is-fullwidth-code-point": "^1.0.0",
+        "strip-ansi": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/strip-ansi": {
+      "version": "3.0.1",
+      "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/strip-json-comments": {
+      "version": "2.0.1",
+      "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/tar": {
+      "version": "4.4.13",
+      "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "chownr": "^1.1.1",
+        "fs-minipass": "^1.2.5",
+        "minipass": "^2.8.6",
+        "minizlib": "^1.2.1",
+        "mkdirp": "^0.5.0",
+        "safe-buffer": "^5.1.2",
+        "yallist": "^3.0.3"
+      },
+      "engines": {
+        "node": ">=4.5"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/wide-align": {
+      "version": "1.1.3",
+      "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true,
+      "dependencies": {
+        "string-width": "^1.0.2 || 2"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/wrappy": {
+      "version": "1.0.2",
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/fsevents/node_modules/yallist": {
+      "version": "3.1.1",
+      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+      "dev": true,
+      "inBundle": true,
+      "optional": true
+    },
+    "node_modules/@parcel/watcher/node_modules/glob-parent": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^3.1.0",
+        "path-dirname": "^1.0.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/glob-parent/node_modules/is-glob": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+      "dev": true,
+      "dependencies": {
+        "is-extglob": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/is-binary-path": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+      "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+      "dev": true,
+      "dependencies": {
+        "binary-extensions": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/is-number": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/is-number/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/micromatch": {
+      "version": "3.1.10",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
+      "dependencies": {
+        "arr-diff": "^4.0.0",
+        "array-unique": "^0.3.2",
+        "braces": "^2.3.1",
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "extglob": "^2.0.4",
+        "fragment-cache": "^0.2.1",
+        "kind-of": "^6.0.2",
+        "nanomatch": "^1.2.9",
+        "object.pick": "^1.3.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/readdirp": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+      "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.11",
+        "micromatch": "^3.1.10",
+        "readable-stream": "^2.0.2"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/@parcel/watcher/node_modules/to-regex-range": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/@parcel/workers": {
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/@parcel/workers/-/workers-1.11.0.tgz",
+      "integrity": "sha512-USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==",
+      "dev": true,
+      "dependencies": {
+        "@parcel/utils": "^1.11.0",
+        "physical-cpu-count": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/@sindresorhus/is": {
+      "version": "0.14.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+      "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@szmarczak/http-timer": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+      "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+      "dev": true,
+      "dependencies": {
+        "defer-to-connect": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@types/color-name": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
+      "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
+      "dev": true
+    },
+    "node_modules/@types/events": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
+      "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
+      "dev": true
+    },
+    "node_modules/@types/glob": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
+      "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+      "dev": true,
+      "dependencies": {
+        "@types/events": "*",
+        "@types/minimatch": "*",
+        "@types/node": "*"
+      }
+    },
+    "node_modules/@types/json5": {
+      "version": "0.0.29",
+      "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+      "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+      "dev": true
+    },
+    "node_modules/@types/minimatch": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+      "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+      "dev": true
+    },
+    "node_modules/@types/node": {
+      "version": "13.9.2",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz",
+      "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==",
+      "dev": true
+    },
+    "node_modules/@types/normalize-package-data": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz",
+      "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==",
+      "dev": true
+    },
+    "node_modules/@types/q": {
+      "version": "1.5.2",
+      "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz",
+      "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==",
+      "dev": true
+    },
+    "node_modules/abab": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+      "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
+      "dev": true
+    },
+    "node_modules/acorn": {
+      "version": "5.7.3",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
+      "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/acorn-globals": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-4.3.4.tgz",
+      "integrity": "sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==",
+      "dev": true,
+      "dependencies": {
+        "acorn": "^6.0.1",
+        "acorn-walk": "^6.0.1"
+      }
+    },
+    "node_modules/acorn-globals/node_modules/acorn": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz",
+      "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/acorn-walk": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz",
+      "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/aggregate-error": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz",
+      "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==",
+      "dev": true,
+      "dependencies": {
+        "clean-stack": "^2.0.0",
+        "indent-string": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ajv": {
+      "version": "6.11.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.11.0.tgz",
+      "integrity": "sha512-nCprB/0syFYy9fVYU1ox1l2KN8S9I+tziH8D4zdZuLT3N6RMlGSGt5FSTpAiHB/Whv8Qs1cWHma1aMKZyaHRKA==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
+      }
+    },
+    "node_modules/alphanum-sort": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
+      "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=",
+      "dev": true
+    },
+    "node_modules/ansi-align": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz",
+      "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^3.0.0"
+      }
+    },
+    "node_modules/ansi-align/node_modules/emoji-regex": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+      "dev": true
+    },
+    "node_modules/ansi-align/node_modules/is-fullwidth-code-point": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ansi-align/node_modules/string-width": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^7.0.1",
+        "is-fullwidth-code-point": "^2.0.0",
+        "strip-ansi": "^5.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/ansi-regex": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ansi-styles": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+      "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+      "dev": true,
+      "dependencies": {
+        "@types/color-name": "^1.1.1",
+        "color-convert": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/ansi-styles/node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "~1.1.4"
+      },
+      "engines": {
+        "node": ">=7.0.0"
+      }
+    },
+    "node_modules/ansi-styles/node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "dev": true
+    },
+    "node_modules/ansi-to-html": {
+      "version": "0.6.13",
+      "resolved": "https://registry.npmjs.org/ansi-to-html/-/ansi-to-html-0.6.13.tgz",
+      "integrity": "sha512-Ys2/umuaTlQvP9DLkaa7UzRKF2FLrfod/hNHXS9QhXCrw7seObG6ksOGmNz3UoK+adwM8L9vQfG7mvaxfJ3Jvw==",
+      "dev": true,
+      "dependencies": {
+        "entities": "^1.1.2"
+      },
+      "bin": {
+        "ansi-to-html": "bin/ansi-to-html"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/anymatch": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+      "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+      "dev": true,
+      "dependencies": {
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/append-transform": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-2.0.0.tgz",
+      "integrity": "sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==",
+      "dev": true,
+      "dependencies": {
+        "default-require-extensions": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/archy": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
+      "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=",
+      "dev": true
+    },
+    "node_modules/arg": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+      "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+      "dev": true
+    },
+    "node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dev": true,
+      "dependencies": {
+        "sprintf-js": "~1.0.2"
+      }
+    },
+    "node_modules/arr-diff": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/arr-flatten": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/arr-union": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/array-equal": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
+      "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=",
+      "dev": true
+    },
+    "node_modules/array-find-index": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
+      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/array-union": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+      "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/array-unique": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/arrgv": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/arrgv/-/arrgv-1.0.2.tgz",
+      "integrity": "sha512-a4eg4yhp7mmruZDQFqVMlxNRFGi/i1r87pt8SDHy0/I8PqSXoUTlWZRdAZo0VXgvEARcujbtTk8kiZRi1uDGRw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/arrify": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
+      "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/asn1": {
+      "version": "0.2.4",
+      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+      "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": "~2.1.0"
+      }
+    },
+    "node_modules/asn1.js": {
+      "version": "4.10.1",
+      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
+      "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
+      "dev": true,
+      "dependencies": {
+        "bn.js": "^4.0.0",
+        "inherits": "^2.0.1",
+        "minimalistic-assert": "^1.0.0"
+      }
+    },
+    "node_modules/assert": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+      "dev": true,
+      "dependencies": {
+        "object-assign": "^4.1.1",
+        "util": "0.10.3"
+      }
+    },
+    "node_modules/assert-plus": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/assert/node_modules/inherits": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+      "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+      "dev": true
+    },
+    "node_modules/assert/node_modules/util": {
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+      "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+      "dev": true,
+      "dependencies": {
+        "inherits": "2.0.1"
+      }
+    },
+    "node_modules/assign-symbols": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/astral-regex": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/async-each": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz",
+      "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==",
+      "dev": true
+    },
+    "node_modules/async-limiter": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
+      "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
+      "dev": true
+    },
+    "node_modules/asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
+    },
+    "node_modules/atob": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+      "dev": true,
+      "bin": {
+        "atob": "bin/atob.js"
+      },
+      "engines": {
+        "node": ">= 4.5.0"
+      }
+    },
+    "node_modules/ava": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/ava/-/ava-3.5.0.tgz",
+      "integrity": "sha512-o+xq1RgAZrQ7GX5nddTNeYbUDogwlBoa/Hnt+b1ciCLLxSOj5U6ZFblLNBSKwHtP1X/8R06bmzvX47jmlVu9KQ==",
+      "dev": true,
+      "dependencies": {
+        "@concordance/react": "^2.0.0",
+        "ansi-styles": "^4.2.1",
+        "arrgv": "^1.0.2",
+        "arrify": "^2.0.1",
+        "chalk": "^3.0.0",
+        "chokidar": "^3.3.1",
+        "chunkd": "^2.0.1",
+        "ci-parallel-vars": "^1.0.0",
+        "clean-stack": "^2.2.0",
+        "clean-yaml-object": "^0.1.0",
+        "cli-cursor": "^3.1.0",
+        "cli-truncate": "^2.1.0",
+        "code-excerpt": "^2.1.1",
+        "common-path-prefix": "^3.0.0",
+        "concordance": "^4.0.0",
+        "convert-source-map": "^1.7.0",
+        "currently-unhandled": "^0.4.1",
+        "debug": "^4.1.1",
+        "del": "^5.1.0",
+        "emittery": "^0.5.1",
+        "equal-length": "^1.0.0",
+        "figures": "^3.1.0",
+        "globby": "^11.0.0",
+        "ignore-by-default": "^1.0.0",
+        "import-local": "^3.0.2",
+        "indent-string": "^4.0.0",
+        "is-ci": "^2.0.0",
+        "is-error": "^2.2.2",
+        "is-plain-object": "^3.0.0",
+        "is-promise": "^2.1.0",
+        "lodash": "^4.17.15",
+        "matcher": "^2.1.0",
+        "md5-hex": "^3.0.1",
+        "ms": "^2.1.2",
+        "ora": "^4.0.3",
+        "p-map": "^3.0.0",
+        "picomatch": "^2.2.1",
+        "pkg-conf": "^3.1.0",
+        "plur": "^4.0.0",
+        "pretty-ms": "^6.0.0",
+        "read-pkg": "^5.2.0",
+        "resolve-cwd": "^3.0.0",
+        "slash": "^3.0.0",
+        "source-map-support": "^0.5.16",
+        "stack-utils": "^2.0.1",
+        "strip-ansi": "^6.0.0",
+        "supertap": "^1.0.0",
+        "temp-dir": "^2.0.0",
+        "trim-off-newlines": "^1.0.1",
+        "update-notifier": "^4.1.0",
+        "write-file-atomic": "^3.0.1",
+        "yargs": "^15.1.0"
+      },
+      "bin": {
+        "ava": "cli.js"
+      },
+      "engines": {
+        "node": ">=10.18.0 <11 || >=12.14.0 <13 || >=13.5.0"
+      }
+    },
+    "node_modules/ava/node_modules/chalk": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+      "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ava/node_modules/strip-ansi": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/aws-sign2": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/aws4": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
+      "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
+      "dev": true
+    },
+    "node_modules/babel-plugin-dynamic-import-node": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
+      "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
+      "dev": true,
+      "dependencies": {
+        "object.assign": "^4.1.0"
+      }
+    },
+    "node_modules/babel-runtime": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+      "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+      "dev": true,
+      "dependencies": {
+        "core-js": "^2.4.0",
+        "regenerator-runtime": "^0.11.0"
+      }
+    },
+    "node_modules/babel-runtime/node_modules/regenerator-runtime": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+      "dev": true
+    },
+    "node_modules/babel-types": {
+      "version": "6.26.0",
+      "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz",
+      "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=",
+      "dev": true,
+      "dependencies": {
+        "babel-runtime": "^6.26.0",
+        "esutils": "^2.0.2",
+        "lodash": "^4.17.4",
+        "to-fast-properties": "^1.0.3"
+      }
+    },
+    "node_modules/babel-types/node_modules/to-fast-properties": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
+      "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/babylon-walk": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/babylon-walk/-/babylon-walk-1.0.2.tgz",
+      "integrity": "sha1-OxWl3btIKni0zpwByLoYFwLZ1s4=",
+      "dev": true,
+      "dependencies": {
+        "babel-runtime": "^6.11.6",
+        "babel-types": "^6.15.0",
+        "lodash.clone": "^4.5.0"
+      }
+    },
+    "node_modules/backbone": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz",
+      "integrity": "sha512-RLmDrRXkVdouTg38jcgHhyQ/2zjg7a8E6sz2zxfz21Hh17xDJYUHBZimVIt5fUyS8vbfpeSmTL3gUjTEvUV3qQ==",
+      "dev": true,
+      "dependencies": {
+        "underscore": ">=1.8.3"
+      }
+    },
+    "node_modules/balanced-match": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+      "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+      "dev": true
+    },
+    "node_modules/base": {
+      "version": "0.11.2",
+      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+      "dev": true,
+      "dependencies": {
+        "cache-base": "^1.0.1",
+        "class-utils": "^0.3.5",
+        "component-emitter": "^1.2.1",
+        "define-property": "^1.0.0",
+        "isobject": "^3.0.1",
+        "mixin-deep": "^1.2.0",
+        "pascalcase": "^0.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/is-accessor-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/is-data-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/is-descriptor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^1.0.0",
+        "is-data-descriptor": "^1.0.0",
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/base64-js": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz",
+      "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==",
+      "dev": true
+    },
+    "node_modules/bcrypt-pbkdf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+      "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+      "dev": true,
+      "dependencies": {
+        "tweetnacl": "^0.14.3"
+      }
+    },
+    "node_modules/binary-extensions": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+      "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/bindings": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+      "dev": true,
+      "dependencies": {
+        "file-uri-to-path": "1.0.0"
+      }
+    },
+    "node_modules/blueimp-md5": {
+      "version": "2.12.0",
+      "resolved": "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.12.0.tgz",
+      "integrity": "sha512-zo+HIdIhzojv6F1siQPqPFROyVy7C50KzHv/k/Iz+BtvtVzSHXiMXOpq2wCfNkeBqdCv+V8XOV96tsEt2W/3rQ==",
+      "dev": true
+    },
+    "node_modules/bn.js": {
+      "version": "4.11.8",
+      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
+      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+      "dev": true
+    },
+    "node_modules/boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+      "dev": true
+    },
+    "node_modules/boxen": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
+      "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-align": "^3.0.0",
+        "camelcase": "^5.3.1",
+        "chalk": "^3.0.0",
+        "cli-boxes": "^2.2.0",
+        "string-width": "^4.1.0",
+        "term-size": "^2.1.0",
+        "type-fest": "^0.8.1",
+        "widest-line": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/boxen/node_modules/chalk": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+      "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/boxen/node_modules/type-fest": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/brace-expansion": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "dev": true,
+      "dependencies": {
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
+      }
+    },
+    "node_modules/braces": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+      "dev": true,
+      "dependencies": {
+        "fill-range": "^7.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/brfs": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz",
+      "integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==",
+      "dev": true,
+      "dependencies": {
+        "quote-stream": "^1.0.1",
+        "resolve": "^1.1.5",
+        "static-module": "^2.2.0",
+        "through2": "^2.0.0"
+      },
+      "bin": {
+        "brfs": "bin/cmd.js"
+      }
+    },
+    "node_modules/brorand": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+      "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+      "dev": true
+    },
+    "node_modules/browser-process-hrtime": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
+      "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==",
+      "dev": true
+    },
+    "node_modules/browserify-aes": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+      "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+      "dev": true,
+      "dependencies": {
+        "buffer-xor": "^1.0.3",
+        "cipher-base": "^1.0.0",
+        "create-hash": "^1.1.0",
+        "evp_bytestokey": "^1.0.3",
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "node_modules/browserify-cipher": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+      "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+      "dev": true,
+      "dependencies": {
+        "browserify-aes": "^1.0.4",
+        "browserify-des": "^1.0.0",
+        "evp_bytestokey": "^1.0.0"
+      }
+    },
+    "node_modules/browserify-des": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+      "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+      "dev": true,
+      "dependencies": {
+        "cipher-base": "^1.0.1",
+        "des.js": "^1.0.0",
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.1.2"
+      }
+    },
+    "node_modules/browserify-rsa": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz",
+      "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=",
+      "dev": true,
+      "dependencies": {
+        "bn.js": "^4.1.0",
+        "randombytes": "^2.0.1"
+      }
+    },
+    "node_modules/browserify-sign": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
+      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
+      "dev": true,
+      "dependencies": {
+        "bn.js": "^4.1.1",
+        "browserify-rsa": "^4.0.0",
+        "create-hash": "^1.1.0",
+        "create-hmac": "^1.1.2",
+        "elliptic": "^6.0.0",
+        "inherits": "^2.0.1",
+        "parse-asn1": "^5.0.0"
+      }
+    },
+    "node_modules/browserify-zlib": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+      "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+      "dev": true,
+      "dependencies": {
+        "pako": "~1.0.5"
+      }
+    },
+    "node_modules/browserify-zlib/node_modules/pako": {
+      "version": "1.0.11",
+      "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+      "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+      "dev": true
+    },
+    "node_modules/browserslist": {
+      "version": "4.8.6",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.6.tgz",
+      "integrity": "sha512-ZHao85gf0eZ0ESxLfCp73GG9O/VTytYDIkIiZDlURppLTI9wErSM/5yAKEq6rcUdxBLjMELmrYUJGg5sxGKMHg==",
+      "dev": true,
+      "dependencies": {
+        "caniuse-lite": "^1.0.30001023",
+        "electron-to-chromium": "^1.3.341",
+        "node-releases": "^1.1.47"
+      },
+      "bin": {
+        "browserslist": "cli.js"
+      },
+      "funding": {
+        "type": "tidelift",
+        "url": "https://tidelift.com/funding/github/npm/browserslist"
+      }
+    },
+    "node_modules/buffer": {
+      "version": "4.9.2",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
+      "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
+      "dev": true,
+      "dependencies": {
+        "base64-js": "^1.0.2",
+        "ieee754": "^1.1.4",
+        "isarray": "^1.0.0"
+      }
+    },
+    "node_modules/buffer-equal": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
+      "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/buffer-from": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+      "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+      "dev": true
+    },
+    "node_modules/buffer-xor": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+      "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+      "dev": true
+    },
+    "node_modules/builtin-status-codes": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+      "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+      "dev": true
+    },
+    "node_modules/cache-base": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+      "dev": true,
+      "dependencies": {
+        "collection-visit": "^1.0.0",
+        "component-emitter": "^1.2.1",
+        "get-value": "^2.0.6",
+        "has-value": "^1.0.0",
+        "isobject": "^3.0.1",
+        "set-value": "^2.0.0",
+        "to-object-path": "^0.3.0",
+        "union-value": "^1.0.0",
+        "unset-value": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/cache-base/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/cacheable-request": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
+      "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
+      "dev": true,
+      "dependencies": {
+        "clone-response": "^1.0.2",
+        "get-stream": "^5.1.0",
+        "http-cache-semantics": "^4.0.0",
+        "keyv": "^3.0.0",
+        "lowercase-keys": "^2.0.0",
+        "normalize-url": "^4.1.0",
+        "responselike": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cacheable-request/node_modules/get-stream": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+      "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+      "dev": true,
+      "dependencies": {
+        "pump": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cacheable-request/node_modules/lowercase-keys": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+      "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/caching-transform": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-4.0.0.tgz",
+      "integrity": "sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==",
+      "dev": true,
+      "dependencies": {
+        "hasha": "^5.0.0",
+        "make-dir": "^3.0.0",
+        "package-hash": "^4.0.0",
+        "write-file-atomic": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/call-me-maybe": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
+      "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=",
+      "dev": true
+    },
+    "node_modules/caller-callsite": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
+      "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=",
+      "dev": true,
+      "dependencies": {
+        "callsites": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/caller-path": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz",
+      "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=",
+      "dev": true,
+      "dependencies": {
+        "caller-callsite": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/callsites": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz",
+      "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/caniuse-api": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+      "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.0.0",
+        "caniuse-lite": "^1.0.0",
+        "lodash.memoize": "^4.1.2",
+        "lodash.uniq": "^4.5.0"
+      }
+    },
+    "node_modules/caniuse-lite": {
+      "version": "1.0.30001025",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001025.tgz",
+      "integrity": "sha512-SKyFdHYfXUZf5V85+PJgLYyit27q4wgvZuf8QTOk1osbypcROihMBlx9GRar2/pIcKH2r4OehdlBr9x6PXetAQ==",
+      "dev": true
+    },
+    "node_modules/caseless": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+      "dev": true
+    },
+    "node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/chalk/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/chalk/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/chalk/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/chokidar": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
+      "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
+      "dev": true,
+      "dependencies": {
+        "anymatch": "~3.1.1",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.0",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.3.0"
+      },
+      "engines": {
+        "node": ">= 8.10.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.1.2"
+      }
+    },
+    "node_modules/chunkd": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/chunkd/-/chunkd-2.0.1.tgz",
+      "integrity": "sha512-7d58XsFmOq0j6el67Ug9mHf9ELUXsQXYJBkyxhH/k+6Ke0qXRnv0kbemx+Twc6fRJ07C49lcbdgm9FL1Ei/6SQ==",
+      "dev": true
+    },
+    "node_modules/ci-info": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+      "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+      "dev": true
+    },
+    "node_modules/ci-parallel-vars": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/ci-parallel-vars/-/ci-parallel-vars-1.0.0.tgz",
+      "integrity": "sha512-u6dx20FBXm+apMi+5x7UVm6EH7BL1gc4XrcnQewjcB7HWRcor/V5qWc3RG2HwpgDJ26gIi2DSEu3B7sXynAw/g==",
+      "dev": true
+    },
+    "node_modules/cipher-base": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+      "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      }
+    },
+    "node_modules/class-utils": {
+      "version": "0.3.6",
+      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+      "dev": true,
+      "dependencies": {
+        "arr-union": "^3.1.0",
+        "define-property": "^0.2.5",
+        "isobject": "^3.0.0",
+        "static-extend": "^0.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/class-utils/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/class-utils/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/clean-stack": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
+      "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clean-yaml-object": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/clean-yaml-object/-/clean-yaml-object-0.1.0.tgz",
+      "integrity": "sha1-Y/sRDcLOGoTcIfbZM0h20BCui2g=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/cli-boxes": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.0.tgz",
+      "integrity": "sha512-gpaBrMAizVEANOpfZp/EEUixTXDyGt7DFzdK5hU+UbWt/J0lB0w20ncZj59Z9a93xHb9u12zF5BS6i9RKbtg4w==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/cli-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+      "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+      "dev": true,
+      "dependencies": {
+        "restore-cursor": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cli-spinners": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
+      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/cli-truncate": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz",
+      "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==",
+      "dev": true,
+      "dependencies": {
+        "slice-ansi": "^3.0.0",
+        "string-width": "^4.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/cliui": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+      "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^3.1.0",
+        "strip-ansi": "^5.2.0",
+        "wrap-ansi": "^5.1.0"
+      }
+    },
+    "node_modules/cliui/node_modules/emoji-regex": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+      "dev": true
+    },
+    "node_modules/cliui/node_modules/is-fullwidth-code-point": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/cliui/node_modules/string-width": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^7.0.1",
+        "is-fullwidth-code-point": "^2.0.0",
+        "strip-ansi": "^5.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/clone": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
+      "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/clone-response": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+      "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+      "dev": true,
+      "dependencies": {
+        "mimic-response": "^1.0.0"
+      }
+    },
+    "node_modules/coa": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
+      "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==",
+      "dev": true,
+      "dependencies": {
+        "@types/q": "^1.5.1",
+        "chalk": "^2.4.1",
+        "q": "^1.1.2"
+      },
+      "engines": {
+        "node": ">= 4.0"
+      }
+    },
+    "node_modules/code-excerpt": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/code-excerpt/-/code-excerpt-2.1.1.tgz",
+      "integrity": "sha512-tJLhH3EpFm/1x7heIW0hemXJTUU5EWl2V0EIX558jp05Mt1U6DVryCgkp3l37cxqs+DNbNgxG43SkwJXpQ14Jw==",
+      "dev": true,
+      "dependencies": {
+        "convert-to-spaces": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/collection-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "dev": true,
+      "dependencies": {
+        "map-visit": "^1.0.0",
+        "object-visit": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/color": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz",
+      "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.1",
+        "color-string": "^1.5.2"
+      }
+    },
+    "node_modules/color-convert": {
+      "version": "1.9.3",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "1.1.3"
+      }
+    },
+    "node_modules/color-name": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+      "dev": true
+    },
+    "node_modules/color-string": {
+      "version": "1.5.3",
+      "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz",
+      "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==",
+      "dev": true,
+      "dependencies": {
+        "color-name": "^1.0.0",
+        "simple-swizzle": "^0.2.2"
+      }
+    },
+    "node_modules/combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+      "dev": true,
+      "dependencies": {
+        "delayed-stream": "~1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/command-exists": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.8.tgz",
+      "integrity": "sha512-PM54PkseWbiiD/mMsbvW351/u+dafwTJ0ye2qB60G1aGQP9j3xK2gmMDc+R34L3nDtx4qMCitXT75mkbkGJDLw==",
+      "dev": true
+    },
+    "node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "dev": true
+    },
+    "node_modules/common-path-prefix": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+      "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
+      "dev": true
+    },
+    "node_modules/commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
+      "dev": true
+    },
+    "node_modules/component-emitter": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+      "dev": true
+    },
+    "node_modules/concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+      "dev": true
+    },
+    "node_modules/concat-stream": {
+      "version": "1.6.2",
+      "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+      "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+      "dev": true,
+      "engines": [
+        "node >= 0.8"
+      ],
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "inherits": "^2.0.3",
+        "readable-stream": "^2.2.2",
+        "typedarray": "^0.0.6"
+      }
+    },
+    "node_modules/concordance": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/concordance/-/concordance-4.0.0.tgz",
+      "integrity": "sha512-l0RFuB8RLfCS0Pt2Id39/oCPykE01pyxgAFypWTlaGRgvLkZrtczZ8atEHpTeEIW+zYWXTBuA9cCSeEOScxReQ==",
+      "dev": true,
+      "dependencies": {
+        "date-time": "^2.1.0",
+        "esutils": "^2.0.2",
+        "fast-diff": "^1.1.2",
+        "js-string-escape": "^1.0.1",
+        "lodash.clonedeep": "^4.5.0",
+        "lodash.flattendeep": "^4.4.0",
+        "lodash.islength": "^4.0.1",
+        "lodash.merge": "^4.6.1",
+        "md5-hex": "^2.0.0",
+        "semver": "^5.5.1",
+        "well-known-symbols": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6.12.3 <7 || >=8.9.4 <9 || >=10.0.0"
+      }
+    },
+    "node_modules/concordance/node_modules/md5-hex": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-2.0.0.tgz",
+      "integrity": "sha1-0FiOnxx0lUSS7NJKwKxs6ZfZLjM=",
+      "dev": true,
+      "dependencies": {
+        "md5-o-matic": "^0.1.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/configstore": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
+      "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
+      "dev": true,
+      "dependencies": {
+        "dot-prop": "^5.2.0",
+        "graceful-fs": "^4.1.2",
+        "make-dir": "^3.0.0",
+        "unique-string": "^2.0.0",
+        "write-file-atomic": "^3.0.0",
+        "xdg-basedir": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/console-browserify": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
+      "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
+      "dev": true
+    },
+    "node_modules/constants-browserify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+      "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+      "dev": true
+    },
+    "node_modules/convert-source-map": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+      "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.1"
+      }
+    },
+    "node_modules/convert-to-spaces": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/convert-to-spaces/-/convert-to-spaces-1.0.2.tgz",
+      "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/copy-descriptor": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/core-js": {
+      "version": "2.6.11",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz",
+      "integrity": "sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==",
+      "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
+      "dev": true,
+      "hasInstallScript": true
+    },
+    "node_modules/core-js-compat": {
+      "version": "3.6.4",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz",
+      "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.8.3",
+        "semver": "7.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/core-js"
+      }
+    },
+    "node_modules/core-js-compat/node_modules/semver": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+      "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/core-util-is": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
+    },
+    "node_modules/cosmiconfig": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz",
+      "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==",
+      "dev": true,
+      "dependencies": {
+        "import-fresh": "^2.0.0",
+        "is-directory": "^0.3.1",
+        "js-yaml": "^3.13.1",
+        "parse-json": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/create-ecdh": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz",
+      "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==",
+      "dev": true,
+      "dependencies": {
+        "bn.js": "^4.1.0",
+        "elliptic": "^6.0.0"
+      }
+    },
+    "node_modules/create-hash": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+      "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+      "dev": true,
+      "dependencies": {
+        "cipher-base": "^1.0.1",
+        "inherits": "^2.0.1",
+        "md5.js": "^1.3.4",
+        "ripemd160": "^2.0.1",
+        "sha.js": "^2.4.0"
+      }
+    },
+    "node_modules/create-hmac": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+      "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+      "dev": true,
+      "dependencies": {
+        "cipher-base": "^1.0.3",
+        "create-hash": "^1.1.0",
+        "inherits": "^2.0.1",
+        "ripemd160": "^2.0.0",
+        "safe-buffer": "^5.0.1",
+        "sha.js": "^2.4.8"
+      }
+    },
+    "node_modules/cross-spawn": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.1.tgz",
+      "integrity": "sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg==",
+      "dev": true,
+      "dependencies": {
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/cross-spawn/node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cross-spawn/node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cross-spawn/node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/cross-spawn/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/crypto-browserify": {
+      "version": "3.12.0",
+      "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+      "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+      "dev": true,
+      "dependencies": {
+        "browserify-cipher": "^1.0.0",
+        "browserify-sign": "^4.0.0",
+        "create-ecdh": "^4.0.0",
+        "create-hash": "^1.1.0",
+        "create-hmac": "^1.1.0",
+        "diffie-hellman": "^5.0.0",
+        "inherits": "^2.0.1",
+        "pbkdf2": "^3.0.3",
+        "public-encrypt": "^4.0.0",
+        "randombytes": "^2.0.0",
+        "randomfill": "^1.0.3"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/crypto-random-string": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+      "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/css-color-names": {
+      "version": "0.0.4",
+      "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz",
+      "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/css-declaration-sorter": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz",
+      "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.1",
+        "timsort": "^0.3.0"
+      },
+      "engines": {
+        "node": ">4"
+      }
+    },
+    "node_modules/css-modules-loader-core": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/css-modules-loader-core/-/css-modules-loader-core-1.1.0.tgz",
+      "integrity": "sha1-WQhmgpShvs0mGuCkziGwtVHyHRY=",
+      "dev": true,
+      "dependencies": {
+        "icss-replace-symbols": "1.1.0",
+        "postcss": "6.0.1",
+        "postcss-modules-extract-imports": "1.1.0",
+        "postcss-modules-local-by-default": "1.2.0",
+        "postcss-modules-scope": "1.1.0",
+        "postcss-modules-values": "1.3.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/ansi-styles": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+      "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/chalk": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+      "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^2.2.1",
+        "escape-string-regexp": "^1.0.2",
+        "has-ansi": "^2.0.0",
+        "strip-ansi": "^3.0.0",
+        "supports-color": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/chalk/node_modules/supports-color": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+      "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/has-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+      "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/postcss": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.1.tgz",
+      "integrity": "sha1-AA29H47vIXqjaLmiEsX8QLKo8/I=",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^1.1.3",
+        "source-map": "^0.5.6",
+        "supports-color": "^3.2.3"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/strip-ansi": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+      "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/css-modules-loader-core/node_modules/supports-color": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+      "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/css-select": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz",
+      "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==",
+      "dev": true,
+      "dependencies": {
+        "boolbase": "^1.0.0",
+        "css-what": "^3.2.1",
+        "domutils": "^1.7.0",
+        "nth-check": "^1.0.2"
+      }
+    },
+    "node_modules/css-select-base-adapter": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz",
+      "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==",
+      "dev": true
+    },
+    "node_modules/css-selector-tokenizer": {
+      "version": "0.7.1",
+      "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
+      "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
+      "dev": true,
+      "dependencies": {
+        "cssesc": "^0.1.0",
+        "fastparse": "^1.1.1",
+        "regexpu-core": "^1.0.0"
+      }
+    },
+    "node_modules/css-selector-tokenizer/node_modules/jsesc": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+      "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+      "dev": true,
+      "bin": {
+        "jsesc": "bin/jsesc"
+      }
+    },
+    "node_modules/css-selector-tokenizer/node_modules/regexpu-core": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
+      "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+      "dev": true,
+      "dependencies": {
+        "regenerate": "^1.2.1",
+        "regjsgen": "^0.2.0",
+        "regjsparser": "^0.1.4"
+      }
+    },
+    "node_modules/css-selector-tokenizer/node_modules/regjsgen": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
+      "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+      "dev": true
+    },
+    "node_modules/css-selector-tokenizer/node_modules/regjsparser": {
+      "version": "0.1.5",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
+      "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+      "dev": true,
+      "dependencies": {
+        "jsesc": "~0.5.0"
+      },
+      "bin": {
+        "regjsparser": "bin/parser"
+      }
+    },
+    "node_modules/css-tree": {
+      "version": "1.0.0-alpha.37",
+      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz",
+      "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==",
+      "dev": true,
+      "dependencies": {
+        "mdn-data": "2.0.4",
+        "source-map": "^0.6.1"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/css-unit-converter": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.1.tgz",
+      "integrity": "sha1-2bkoGtz9jO2TW9urqDeGiX9k6ZY=",
+      "dev": true
+    },
+    "node_modules/css-what": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz",
+      "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/cssesc": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
+      "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+      "dev": true,
+      "bin": {
+        "cssesc": "bin/cssesc"
+      }
+    },
+    "node_modules/cssnano": {
+      "version": "4.1.10",
+      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz",
+      "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==",
+      "dev": true,
+      "dependencies": {
+        "cosmiconfig": "^5.0.0",
+        "cssnano-preset-default": "^4.0.7",
+        "is-resolvable": "^1.0.0",
+        "postcss": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/cssnano-preset-default": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz",
+      "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==",
+      "dev": true,
+      "dependencies": {
+        "css-declaration-sorter": "^4.0.1",
+        "cssnano-util-raw-cache": "^4.0.1",
+        "postcss": "^7.0.0",
+        "postcss-calc": "^7.0.1",
+        "postcss-colormin": "^4.0.3",
+        "postcss-convert-values": "^4.0.1",
+        "postcss-discard-comments": "^4.0.2",
+        "postcss-discard-duplicates": "^4.0.2",
+        "postcss-discard-empty": "^4.0.1",
+        "postcss-discard-overridden": "^4.0.1",
+        "postcss-merge-longhand": "^4.0.11",
+        "postcss-merge-rules": "^4.0.3",
+        "postcss-minify-font-values": "^4.0.2",
+        "postcss-minify-gradients": "^4.0.2",
+        "postcss-minify-params": "^4.0.2",
+        "postcss-minify-selectors": "^4.0.2",
+        "postcss-normalize-charset": "^4.0.1",
+        "postcss-normalize-display-values": "^4.0.2",
+        "postcss-normalize-positions": "^4.0.2",
+        "postcss-normalize-repeat-style": "^4.0.2",
+        "postcss-normalize-string": "^4.0.2",
+        "postcss-normalize-timing-functions": "^4.0.2",
+        "postcss-normalize-unicode": "^4.0.1",
+        "postcss-normalize-url": "^4.0.1",
+        "postcss-normalize-whitespace": "^4.0.2",
+        "postcss-ordered-values": "^4.1.2",
+        "postcss-reduce-initial": "^4.0.3",
+        "postcss-reduce-transforms": "^4.0.2",
+        "postcss-svgo": "^4.0.2",
+        "postcss-unique-selectors": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/cssnano-util-get-arguments": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz",
+      "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/cssnano-util-get-match": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz",
+      "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/cssnano-util-raw-cache": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz",
+      "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/cssnano-util-same-parent": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz",
+      "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/csso": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz",
+      "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==",
+      "dev": true,
+      "dependencies": {
+        "css-tree": "1.0.0-alpha.37"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/cssom": {
+      "version": "0.3.8",
+      "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+      "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+      "dev": true
+    },
+    "node_modules/cssstyle": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-1.4.0.tgz",
+      "integrity": "sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==",
+      "dev": true,
+      "dependencies": {
+        "cssom": "0.3.x"
+      }
+    },
+    "node_modules/currently-unhandled": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
+      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
+      "dev": true,
+      "dependencies": {
+        "array-find-index": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/dashdash": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/data-urls": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-1.1.0.tgz",
+      "integrity": "sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==",
+      "dev": true,
+      "dependencies": {
+        "abab": "^2.0.0",
+        "whatwg-mimetype": "^2.2.0",
+        "whatwg-url": "^7.0.0"
+      }
+    },
+    "node_modules/date-time": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/date-time/-/date-time-2.1.0.tgz",
+      "integrity": "sha512-/9+C44X7lot0IeiyfgJmETtRMhBidBYM2QFFIkGa0U1k+hSyY87Nw7PY3eDqpvCBm7I3WCSfPeZskW/YYq6m4g==",
+      "dev": true,
+      "dependencies": {
+        "time-zone": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/deasync": {
+      "version": "0.1.19",
+      "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.19.tgz",
+      "integrity": "sha512-oh3MRktfnPlLysCPpBpKZZzb4cUC/p0aA3SyRGp15lN30juJBTo/CiD0d4fR+f1kBtUQoJj1NE9RPNWQ7BQ9Mg==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "bindings": "^1.5.0",
+        "node-addon-api": "^1.7.1"
+      },
+      "engines": {
+        "node": ">=0.11.0"
+      }
+    },
+    "node_modules/debug": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+      "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+      "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)",
+      "dev": true,
+      "dependencies": {
+        "ms": "^2.1.1"
+      }
+    },
+    "node_modules/decamelize": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/decode-uri-component": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/decompress-response": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+      "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+      "dev": true,
+      "dependencies": {
+        "mimic-response": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/deep-extend": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+      "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/deep-is": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+      "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+      "dev": true
+    },
+    "node_modules/default-require-extensions": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-3.0.0.tgz",
+      "integrity": "sha512-ek6DpXq/SCpvjhpFsLFRVtIxJCRw6fUR42lYMVZuUMK7n8eMz4Uh5clckdBjEpLhn/gEBZo7hDJnJcwdKLKQjg==",
+      "dev": true,
+      "dependencies": {
+        "strip-bom": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/default-require-extensions/node_modules/strip-bom": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/defaults": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
+      "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "dev": true,
+      "dependencies": {
+        "clone": "^1.0.2"
+      }
+    },
+    "node_modules/defer-to-connect": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
+      "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
+      "dev": true
+    },
+    "node_modules/define-properties": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+      "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+      "dev": true,
+      "dependencies": {
+        "object-keys": "^1.0.12"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/define-property": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^1.0.2",
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/define-property/node_modules/is-accessor-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/define-property/node_modules/is-data-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/define-property/node_modules/is-descriptor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^1.0.0",
+        "is-data-descriptor": "^1.0.0",
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/define-property/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/del": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz",
+      "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==",
+      "dev": true,
+      "dependencies": {
+        "globby": "^10.0.1",
+        "graceful-fs": "^4.2.2",
+        "is-glob": "^4.0.1",
+        "is-path-cwd": "^2.2.0",
+        "is-path-inside": "^3.0.1",
+        "p-map": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/del/node_modules/globby": {
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
+      "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
+      "dev": true,
+      "dependencies": {
+        "@types/glob": "^7.1.1",
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.0.3",
+        "glob": "^7.1.3",
+        "ignore": "^5.1.1",
+        "merge2": "^1.2.3",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/depd": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+      "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/des.js": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
+      "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "minimalistic-assert": "^1.0.0"
+      }
+    },
+    "node_modules/destroy": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
+      "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
+      "dev": true
+    },
+    "node_modules/diff": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+      "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.3.1"
+      }
+    },
+    "node_modules/diffie-hellman": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+      "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+      "dev": true,
+      "dependencies": {
+        "bn.js": "^4.1.0",
+        "miller-rabin": "^4.0.0",
+        "randombytes": "^2.0.0"
+      }
+    },
+    "node_modules/dir-glob": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+      "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+      "dev": true,
+      "dependencies": {
+        "path-type": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dom-serializer": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz",
+      "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==",
+      "dev": true,
+      "dependencies": {
+        "domelementtype": "^2.0.1",
+        "entities": "^2.0.0"
+      }
+    },
+    "node_modules/dom-serializer/node_modules/domelementtype": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz",
+      "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==",
+      "dev": true
+    },
+    "node_modules/dom-serializer/node_modules/entities": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz",
+      "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==",
+      "dev": true
+    },
+    "node_modules/domain-browser": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+      "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4",
+        "npm": ">=1.2"
+      }
+    },
+    "node_modules/domelementtype": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+      "dev": true
+    },
+    "node_modules/domexception": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/domexception/-/domexception-1.0.1.tgz",
+      "integrity": "sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==",
+      "dev": true,
+      "dependencies": {
+        "webidl-conversions": "^4.0.2"
+      }
+    },
+    "node_modules/domhandler": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz",
+      "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==",
+      "dev": true,
+      "dependencies": {
+        "domelementtype": "1"
+      }
+    },
+    "node_modules/domutils": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz",
+      "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==",
+      "dev": true,
+      "dependencies": {
+        "dom-serializer": "0",
+        "domelementtype": "1"
+      }
+    },
+    "node_modules/dot-prop": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
+      "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
+      "dev": true,
+      "dependencies": {
+        "is-obj": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/dotenv": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-5.0.1.tgz",
+      "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.6.0"
+      }
+    },
+    "node_modules/dotenv-expand": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
+      "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
+      "dev": true
+    },
+    "node_modules/duplexer2": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+      "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "^2.0.2"
+      }
+    },
+    "node_modules/duplexer3": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+      "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+      "dev": true
+    },
+    "node_modules/ecc-jsbn": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+      "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+      "dev": true,
+      "dependencies": {
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.1.0"
+      }
+    },
+    "node_modules/ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+      "dev": true
+    },
+    "node_modules/electron-to-chromium": {
+      "version": "1.3.345",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.345.tgz",
+      "integrity": "sha512-f8nx53+Z9Y+SPWGg3YdHrbYYfIJAtbUjpFfW4X1RwTZ94iUG7geg9tV8HqzAXX7XTNgyWgAFvce4yce8ZKxKmg==",
+      "dev": true
+    },
+    "node_modules/elliptic": {
+      "version": "6.5.2",
+      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
+      "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
+      "dev": true,
+      "dependencies": {
+        "bn.js": "^4.4.0",
+        "brorand": "^1.0.1",
+        "hash.js": "^1.0.0",
+        "hmac-drbg": "^1.0.0",
+        "inherits": "^2.0.1",
+        "minimalistic-assert": "^1.0.0",
+        "minimalistic-crypto-utils": "^1.0.0"
+      }
+    },
+    "node_modules/emittery": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.5.1.tgz",
+      "integrity": "sha512-sYZXNHH9PhTfs98ROEFVC3bLiR8KSqXQsEHIwZ9J6H0RaQObC3JYq4G8IvDd0b45/LxfGKYBpmaUN4LiKytaNw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "dev": true
+    },
+    "node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/end-of-stream": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+      "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+      "dev": true,
+      "dependencies": {
+        "once": "^1.4.0"
+      }
+    },
+    "node_modules/entities": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+      "dev": true
+    },
+    "node_modules/envinfo": {
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.5.0.tgz",
+      "integrity": "sha512-jDgnJaF/Btomk+m3PZDTTCb5XIIIX3zYItnCRfF73zVgvinLoRomuhi75Y4su0PtQxWz4v66XnLLckyvyJTOIQ==",
+      "dev": true,
+      "bin": {
+        "envinfo": "dist/cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/equal-length": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/equal-length/-/equal-length-1.0.1.tgz",
+      "integrity": "sha1-IcoRLUirJLTh5//A5TOdMf38J0w=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/error-ex": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "dev": true,
+      "dependencies": {
+        "is-arrayish": "^0.2.1"
+      }
+    },
+    "node_modules/es-abstract": {
+      "version": "1.17.0-next.1",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz",
+      "integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==",
+      "dev": true,
+      "dependencies": {
+        "es-to-primitive": "^1.2.1",
+        "function-bind": "^1.1.1",
+        "has": "^1.0.3",
+        "has-symbols": "^1.0.1",
+        "is-callable": "^1.1.4",
+        "is-regex": "^1.0.4",
+        "object-inspect": "^1.7.0",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.0",
+        "string.prototype.trimleft": "^2.1.0",
+        "string.prototype.trimright": "^2.1.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/es-to-primitive": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+      "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+      "dev": true,
+      "dependencies": {
+        "is-callable": "^1.1.4",
+        "is-date-object": "^1.0.1",
+        "is-symbol": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/es6-error": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz",
+      "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==",
+      "dev": true
+    },
+    "node_modules/escape-goat": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
+      "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+      "dev": true
+    },
+    "node_modules/escape-string-regexp": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/escodegen": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.9.1.tgz",
+      "integrity": "sha512-6hTjO1NAWkHnDk3OqQ4YrCuwwmGHL9S3nPlzBOUG/R44rda3wLNrfvQ5fkSGjyhHFKM7ALPKcKGrwvCLe0lC7Q==",
+      "dev": true,
+      "dependencies": {
+        "esprima": "^3.1.3",
+        "estraverse": "^4.2.0",
+        "esutils": "^2.0.2",
+        "optionator": "^0.8.1"
+      },
+      "bin": {
+        "escodegen": "bin/escodegen.js",
+        "esgenerate": "bin/esgenerate.js"
+      },
+      "engines": {
+        "node": ">=4.0"
+      },
+      "optionalDependencies": {
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/escodegen/node_modules/esprima": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz",
+      "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=",
+      "dev": true,
+      "bin": {
+        "esparse": "bin/esparse.js",
+        "esvalidate": "bin/esvalidate.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+      "dev": true,
+      "bin": {
+        "esparse": "bin/esparse.js",
+        "esvalidate": "bin/esvalidate.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/estraverse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+      "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/events": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz",
+      "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.x"
+      }
+    },
+    "node_modules/evp_bytestokey": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+      "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+      "dev": true,
+      "dependencies": {
+        "md5.js": "^1.3.4",
+        "safe-buffer": "^5.1.1"
+      }
+    },
+    "node_modules/expand-brackets": {
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+      "dev": true,
+      "dependencies": {
+        "debug": "^2.3.3",
+        "define-property": "^0.2.5",
+        "extend-shallow": "^2.0.1",
+        "posix-character-classes": "^0.1.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/expand-brackets/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/expand-brackets/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/expand-brackets/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/expand-brackets/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "node_modules/extend": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true
+    },
+    "node_modules/extend-shallow": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+      "dev": true,
+      "dependencies": {
+        "assign-symbols": "^1.0.0",
+        "is-extendable": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extend-shallow/node_modules/is-extendable": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+      "dev": true,
+      "dependencies": {
+        "is-plain-object": "^2.0.4"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extend-shallow/node_modules/is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extend-shallow/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+      "dev": true,
+      "dependencies": {
+        "array-unique": "^0.3.2",
+        "define-property": "^1.0.0",
+        "expand-brackets": "^2.1.4",
+        "extend-shallow": "^2.0.1",
+        "fragment-cache": "^0.2.1",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/is-accessor-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/is-data-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extglob/node_modules/is-descriptor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^1.0.0",
+        "is-data-descriptor": "^1.0.0",
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/extsprintf": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+      "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ]
+    },
+    "node_modules/falafel": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
+      "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
+      "dev": true,
+      "dependencies": {
+        "acorn": "^5.0.0",
+        "foreach": "^2.0.5",
+        "isarray": "0.0.1",
+        "object-keys": "^1.0.6"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/falafel/node_modules/isarray": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+      "dev": true
+    },
+    "node_modules/fast-deep-equal": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
+      "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+      "dev": true
+    },
+    "node_modules/fast-diff": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+      "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+      "dev": true
+    },
+    "node_modules/fast-glob": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.2.tgz",
+      "integrity": "sha512-UDV82o4uQyljznxwMxyVRJgZZt3O5wENYojjzbaGEGZgeOxkLFf+V4cnUD+krzb2F72E18RhamkMZ7AdeggF7A==",
+      "dev": true,
+      "dependencies": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.0",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.2",
+        "picomatch": "^2.2.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/fast-json-stable-stringify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+      "dev": true
+    },
+    "node_modules/fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+      "dev": true
+    },
+    "node_modules/fastparse": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
+      "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
+      "dev": true
+    },
+    "node_modules/fastq": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.6.1.tgz",
+      "integrity": "sha512-mpIH5sKYueh3YyeJwqtVo8sORi0CgtmkVbK6kZStpQlZBYQuTzG2CZ7idSiJuA7bY0SFCWUc5WIs+oYumGCQNw==",
+      "dev": true,
+      "dependencies": {
+        "reusify": "^1.0.4"
+      }
+    },
+    "node_modules/figures": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+      "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
+      "dev": true,
+      "dependencies": {
+        "escape-string-regexp": "^1.0.5"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/file-uri-to-path": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
+      "dev": true
+    },
+    "node_modules/filesize": {
+      "version": "3.6.1",
+      "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
+      "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/fill-range": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+      "dev": true,
+      "dependencies": {
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/find-cache-dir": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.2.0.tgz",
+      "integrity": "sha512-1JKclkYYsf1q9WIJKLZa9S9muC+08RIjzAlLrK4QcYLJMS6mk9yombQ9qf+zJ7H9LS800k0s44L4sDq9VYzqyg==",
+      "dev": true,
+      "dependencies": {
+        "commondir": "^1.0.1",
+        "make-dir": "^3.0.0",
+        "pkg-dir": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+      }
+    },
+    "node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/for-in": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/foreach": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+      "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+      "dev": true
+    },
+    "node_modules/foreground-child": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-2.0.0.tgz",
+      "integrity": "sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==",
+      "dev": true,
+      "dependencies": {
+        "cross-spawn": "^7.0.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/forever-agent": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/form-data": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+      "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+      "dev": true,
+      "dependencies": {
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.6",
+        "mime-types": "^2.1.12"
+      },
+      "engines": {
+        "node": ">= 0.12"
+      }
+    },
+    "node_modules/fragment-cache": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+      "dev": true,
+      "dependencies": {
+        "map-cache": "^0.2.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/fresh": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
+      "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/fromentries": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.2.0.tgz",
+      "integrity": "sha512-33X7H/wdfO99GdRLLgkjUrD4geAFdq/Uv0kl3HD4da6HDixd2GUg8Mw7dahLCV9r/EARkmtYBB6Tch4EEokFTQ==",
+      "dev": true
+    },
+    "node_modules/fs-extra": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^4.0.0",
+        "universalify": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=6 <7 || >=8"
+      }
+    },
+    "node_modules/fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+      "dev": true
+    },
+    "node_modules/fsevents": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
+      "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
+      "deprecated": "\"Please update to latest v2.3 or v2.2\"",
+      "dev": true,
+      "hasInstallScript": true,
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+      "dev": true
+    },
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "dev": true,
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
+      }
+    },
+    "node_modules/get-stream": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+      "dev": true,
+      "dependencies": {
+        "pump": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/get-value": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/getpass": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0"
+      }
+    },
+    "node_modules/glob": {
+      "version": "7.1.6",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+      "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.0.4",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/glob-parent": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+      "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/glob-to-regexp": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
+      "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=",
+      "dev": true
+    },
+    "node_modules/global-dirs": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.0.1.tgz",
+      "integrity": "sha512-5HqUqdhkEovj2Of/ms3IeS/EekcO54ytHRLV4PEY2rhRwrHXLQjeVEES0Lhka0xwNDtGYn58wyC4s5+MHsOO6A==",
+      "dev": true,
+      "dependencies": {
+        "ini": "^1.3.5"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/globals": {
+      "version": "11.12.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/globby": {
+      "version": "11.0.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.0.tgz",
+      "integrity": "sha512-iuehFnR3xu5wBBtm4xi0dMe92Ob87ufyu/dHwpDYfbcpYpIbrO5OnS8M1vWvrBhSGEJ3/Ecj7gnX76P8YxpPEg==",
+      "dev": true,
+      "dependencies": {
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.1.1",
+        "ignore": "^5.1.4",
+        "merge2": "^1.3.0",
+        "slash": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/got": {
+      "version": "9.6.0",
+      "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
+      "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
+      "dev": true,
+      "dependencies": {
+        "@sindresorhus/is": "^0.14.0",
+        "@szmarczak/http-timer": "^1.1.2",
+        "cacheable-request": "^6.0.0",
+        "decompress-response": "^3.3.0",
+        "duplexer3": "^0.1.4",
+        "get-stream": "^4.1.0",
+        "lowercase-keys": "^1.0.1",
+        "mimic-response": "^1.0.1",
+        "p-cancelable": "^1.0.0",
+        "to-readable-stream": "^1.0.0",
+        "url-parse-lax": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8.6"
+      }
+    },
+    "node_modules/graceful-fs": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
+      "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
+      "dev": true
+    },
+    "node_modules/grapheme-breaker": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/grapheme-breaker/-/grapheme-breaker-0.3.2.tgz",
+      "integrity": "sha1-W55reMODJFLSuiuxy4MPlidkEKw=",
+      "dev": true,
+      "dependencies": {
+        "brfs": "^1.2.0",
+        "unicode-trie": "^0.3.1"
+      }
+    },
+    "node_modules/handlebars": {
+      "version": "4.7.3",
+      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz",
+      "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==",
+      "dev": true,
+      "dependencies": {
+        "neo-async": "^2.6.0",
+        "optimist": "^0.6.1",
+        "source-map": "^0.6.1"
+      },
+      "bin": {
+        "handlebars": "bin/handlebars"
+      },
+      "engines": {
+        "node": ">=0.4.7"
+      },
+      "optionalDependencies": {
+        "uglify-js": "^3.1.4"
+      }
+    },
+    "node_modules/har-schema": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/har-validator": {
+      "version": "5.1.3",
+      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
+      "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+      "deprecated": "this library is no longer supported",
+      "dev": true,
+      "dependencies": {
+        "ajv": "^6.5.5",
+        "har-schema": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/has": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "dev": true,
+      "dependencies": {
+        "function-bind": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
+    "node_modules/has-ansi": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+      "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-ansi/node_modules/ansi-regex": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-flag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/has-symbols": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+      "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/has-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "dev": true,
+      "dependencies": {
+        "get-value": "^2.0.6",
+        "has-values": "^1.0.0",
+        "isobject": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-value/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-values": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "kind-of": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-values/node_modules/is-number": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-values/node_modules/is-number/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-values/node_modules/kind-of": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+      "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/has-yarn": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
+      "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/hash-base": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
+      "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/hash.js": {
+      "version": "1.1.7",
+      "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+      "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "minimalistic-assert": "^1.0.1"
+      }
+    },
+    "node_modules/hasha": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.1.0.tgz",
+      "integrity": "sha512-OFPDWmzPN1l7atOV1TgBVmNtBxaIysToK6Ve9DK+vT6pYuklw/nPNT+HJbZi0KDcI6vWB+9tgvZ5YD7fA3CXcA==",
+      "dev": true,
+      "dependencies": {
+        "is-stream": "^2.0.0",
+        "type-fest": "^0.8.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/hasha/node_modules/type-fest": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/hex-color-regex": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz",
+      "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
+      "dev": true
+    },
+    "node_modules/highlight.js": {
+      "version": "9.18.1",
+      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz",
+      "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==",
+      "deprecated": "Version no longer supported. Upgrade to @latest",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/hmac-drbg": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+      "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+      "dev": true,
+      "dependencies": {
+        "hash.js": "^1.0.3",
+        "minimalistic-assert": "^1.0.0",
+        "minimalistic-crypto-utils": "^1.0.1"
+      }
+    },
+    "node_modules/hosted-git-info": {
+      "version": "2.8.8",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz",
+      "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
+      "dev": true
+    },
+    "node_modules/hsl-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz",
+      "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=",
+      "dev": true
+    },
+    "node_modules/hsla-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz",
+      "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=",
+      "dev": true
+    },
+    "node_modules/html-comment-regex": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz",
+      "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==",
+      "dev": true
+    },
+    "node_modules/html-encoding-sniffer": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz",
+      "integrity": "sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==",
+      "dev": true,
+      "dependencies": {
+        "whatwg-encoding": "^1.0.1"
+      }
+    },
+    "node_modules/html-escaper": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz",
+      "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==",
+      "dev": true
+    },
+    "node_modules/html-tags": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-1.2.0.tgz",
+      "integrity": "sha1-x43mW1Zjqll5id0rerSSANfk25g=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/htmlnano": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/htmlnano/-/htmlnano-0.2.5.tgz",
+      "integrity": "sha512-X1iPSwXG/iF9bVs+/obt2n6F64uH0ETkA8zp7qFDmLW9/+A6ueHGeb/+qD67T21qUY22owZPMdawljN50ajkqA==",
+      "dev": true,
+      "dependencies": {
+        "cssnano": "^4.1.10",
+        "normalize-html-whitespace": "^1.0.0",
+        "posthtml": "^0.12.0",
+        "posthtml-render": "^1.1.5",
+        "purgecss": "^1.4.0",
+        "svgo": "^1.3.2",
+        "terser": "^4.3.9",
+        "uncss": "^0.17.2"
+      }
+    },
+    "node_modules/htmlnano/node_modules/posthtml": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.12.0.tgz",
+      "integrity": "sha512-aNUEP/SfKUXAt+ghG51LC5MmafChBZeslVe/SSdfKIgLGUVRE68mrMF4V8XbH07ZifM91tCSuxY3eHIFLlecQw==",
+      "dev": true,
+      "dependencies": {
+        "posthtml-parser": "^0.4.1",
+        "posthtml-render": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/htmlnano/node_modules/terser": {
+      "version": "4.6.3",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.3.tgz",
+      "integrity": "sha512-Lw+ieAXmY69d09IIc/yqeBqXpEQIpDGZqT34ui1QWXIUpR2RjbqEkT8X7Lgex19hslSqcWM5iMN2kM11eMsESQ==",
+      "dev": true,
+      "dependencies": {
+        "commander": "^2.20.0",
+        "source-map": "~0.6.1",
+        "source-map-support": "~0.5.12"
+      },
+      "bin": {
+        "terser": "bin/terser"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/htmlparser2": {
+      "version": "3.10.1",
+      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
+      "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==",
+      "dev": true,
+      "dependencies": {
+        "domelementtype": "^1.3.1",
+        "domhandler": "^2.3.0",
+        "domutils": "^1.5.1",
+        "entities": "^1.1.1",
+        "inherits": "^2.0.1",
+        "readable-stream": "^3.1.1"
+      }
+    },
+    "node_modules/htmlparser2/node_modules/readable-stream": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.5.0.tgz",
+      "integrity": "sha512-gSz026xs2LfxBPudDuI41V1lka8cxg64E66SGe78zJlsUofOg/yqwezdIcdfwik6B4h8LFmWPA9ef9X3FiNFLA==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.3",
+        "string_decoder": "^1.1.1",
+        "util-deprecate": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/http-cache-semantics": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+      "dev": true
+    },
+    "node_modules/http-errors": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.3.tgz",
+      "integrity": "sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==",
+      "dev": true,
+      "dependencies": {
+        "depd": "~1.1.2",
+        "inherits": "2.0.4",
+        "setprototypeof": "1.1.1",
+        "statuses": ">= 1.5.0 < 2",
+        "toidentifier": "1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/http-signature": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+      "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+      "dev": true,
+      "dependencies": {
+        "assert-plus": "^1.0.0",
+        "jsprim": "^1.2.2",
+        "sshpk": "^1.7.0"
+      },
+      "engines": {
+        "node": ">=0.8",
+        "npm": ">=1.3.7"
+      }
+    },
+    "node_modules/https-browserify": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+      "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+      "dev": true
+    },
+    "node_modules/iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "dev": true,
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/icss-replace-symbols": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz",
+      "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=",
+      "dev": true
+    },
+    "node_modules/ieee754": {
+      "version": "1.1.13",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
+      "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==",
+      "dev": true
+    },
+    "node_modules/ignore": {
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.4.tgz",
+      "integrity": "sha512-MzbUSahkTW1u7JpKKjY7LCARd1fU5W2rLdxlM4kdkayuCwZImjkpluF9CM1aLewYJguPDqewLam18Y6AU69A8A==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/ignore-by-default": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+      "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
+      "dev": true
+    },
+    "node_modules/import-fresh": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz",
+      "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=",
+      "dev": true,
+      "dependencies": {
+        "caller-path": "^2.0.0",
+        "resolve-from": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/import-fresh/node_modules/resolve-from": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz",
+      "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/import-lazy": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
+      "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/import-local": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz",
+      "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==",
+      "dev": true,
+      "dependencies": {
+        "pkg-dir": "^4.2.0",
+        "resolve-cwd": "^3.0.0"
+      },
+      "bin": {
+        "import-local-fixture": "fixtures/cli.js"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8.19"
+      }
+    },
+    "node_modules/indent-string": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
+      "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/indexes-of": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz",
+      "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=",
+      "dev": true
+    },
+    "node_modules/inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+      "dev": true,
+      "dependencies": {
+        "once": "^1.3.0",
+        "wrappy": "1"
+      }
+    },
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+      "dev": true
+    },
+    "node_modules/ini": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+      "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/interpret": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
+      "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/invariant": {
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+      "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "dev": true,
+      "dependencies": {
+        "loose-envify": "^1.0.0"
+      }
+    },
+    "node_modules/irregular-plurals": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.2.0.tgz",
+      "integrity": "sha512-YqTdPLfwP7YFN0SsD3QUVCkm9ZG2VzOXv3DOrw5G5mkMbVwptTwVcFv7/C0vOpBmgTxAeTG19XpUs1E522LW9Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-absolute-url": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz",
+      "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-accessor-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-accessor-descriptor/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+      "dev": true
+    },
+    "node_modules/is-binary-path": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+      "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+      "dev": true,
+      "dependencies": {
+        "binary-extensions": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-buffer": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+      "dev": true
+    },
+    "node_modules/is-callable": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/is-ci": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+      "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+      "dev": true,
+      "dependencies": {
+        "ci-info": "^2.0.0"
+      },
+      "bin": {
+        "is-ci": "bin.js"
+      }
+    },
+    "node_modules/is-color-stop": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
+      "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=",
+      "dev": true,
+      "dependencies": {
+        "css-color-names": "^0.0.4",
+        "hex-color-regex": "^1.1.0",
+        "hsl-regex": "^1.0.0",
+        "hsla-regex": "^1.0.0",
+        "rgb-regex": "^1.0.1",
+        "rgba-regex": "^1.0.0"
+      }
+    },
+    "node_modules/is-data-descriptor": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-data-descriptor/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-date-object": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/is-descriptor": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^0.1.6",
+        "is-data-descriptor": "^0.1.4",
+        "kind-of": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-descriptor/node_modules/kind-of": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+      "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-directory": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz",
+      "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-error": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/is-error/-/is-error-2.2.2.tgz",
+      "integrity": "sha512-IOQqts/aHWbiisY5DuPJQ0gcbvaLFCa7fBa9xoLfxBZvQ+ZI/Zh9xoI7Gk+G64N0FdK4AbibytHht2tWgpJWLg==",
+      "dev": true
+    },
+    "node_modules/is-extendable": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-glob": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+      "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+      "dev": true,
+      "dependencies": {
+        "is-extglob": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-html": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-html/-/is-html-1.1.0.tgz",
+      "integrity": "sha1-4E8cGNOUhRETlvmgJz6rUa8hhGQ=",
+      "dev": true,
+      "dependencies": {
+        "html-tags": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-installed-globally": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.1.tgz",
+      "integrity": "sha512-oiEcGoQbGc+3/iijAijrK2qFpkNoNjsHOm/5V5iaeydyrS/hnwaRCEgH5cpW0P3T1lSjV5piB7S5b5lEugNLhg==",
+      "dev": true,
+      "dependencies": {
+        "global-dirs": "^2.0.1",
+        "is-path-inside": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/is-interactive": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
+      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-npm": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
+      "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12.0"
+      }
+    },
+    "node_modules/is-obj": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+      "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-path-cwd": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
+      "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/is-path-inside": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
+      "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-plain-object": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz",
+      "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-promise": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
+      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+      "dev": true
+    },
+    "node_modules/is-regex": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
+      "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+      "dev": true,
+      "dependencies": {
+        "has": "^1.0.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-resolvable": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
+      "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
+      "dev": true
+    },
+    "node_modules/is-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+      "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/is-svg": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz",
+      "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==",
+      "dev": true,
+      "dependencies": {
+        "html-comment-regex": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/is-symbol": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+      "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+      "dev": true,
+      "dependencies": {
+        "has-symbols": "^1.0.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-typedarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
+    },
+    "node_modules/is-url": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
+      "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
+      "dev": true
+    },
+    "node_modules/is-windows": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/is-wsl": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz",
+      "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/is-yarn-global": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
+      "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
+      "dev": true
+    },
+    "node_modules/isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
+    },
+    "node_modules/isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+      "dev": true
+    },
+    "node_modules/isobject": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
+      "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/isstream": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
+    },
+    "node_modules/istanbul-lib-coverage": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
+      "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-hook": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz",
+      "integrity": "sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==",
+      "dev": true,
+      "dependencies": {
+        "append-transform": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-instrument": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz",
+      "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==",
+      "dev": true,
+      "dependencies": {
+        "@babel/core": "^7.7.5",
+        "@babel/parser": "^7.7.5",
+        "@babel/template": "^7.7.4",
+        "@babel/traverse": "^7.7.4",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-coverage": "^3.0.0",
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-instrument/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/istanbul-lib-processinfo": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.2.tgz",
+      "integrity": "sha512-kOwpa7z9hme+IBPZMzQ5vdQj8srYgAtaRqeI48NGmAQ+/5yKiHLV0QbYqQpxsdEF0+w14SoB8YbnHKcXE2KnYw==",
+      "dev": true,
+      "dependencies": {
+        "archy": "^1.0.0",
+        "cross-spawn": "^7.0.0",
+        "istanbul-lib-coverage": "^3.0.0-alpha.1",
+        "make-dir": "^3.0.0",
+        "p-map": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "uuid": "^3.3.3"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-report": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+      "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
+      "dev": true,
+      "dependencies": {
+        "istanbul-lib-coverage": "^3.0.0",
+        "make-dir": "^3.0.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-lib-source-maps": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz",
+      "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.1",
+        "istanbul-lib-coverage": "^3.0.0",
+        "source-map": "^0.6.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/istanbul-reports": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.0.tgz",
+      "integrity": "sha512-2osTcC8zcOSUkImzN2EWQta3Vdi4WjjKw99P2yWx5mLnigAM0Rd5uYFn1cf2i/Ois45GkNjaoTqc5CxgMSX80A==",
+      "dev": true,
+      "dependencies": {
+        "html-escaper": "^2.0.0",
+        "istanbul-lib-report": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/jquery": {
+      "version": "3.4.1",
+      "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.4.1.tgz",
+      "integrity": "sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==",
+      "dev": true
+    },
+    "node_modules/js-string-escape": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/js-string-escape/-/js-string-escape-1.0.1.tgz",
+      "integrity": "sha1-4mJbrbwNZ8dTPp7cEGjFh65BN+8=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "dev": true
+    },
+    "node_modules/js-yaml": {
+      "version": "3.13.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
+      "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+      "dev": true,
+      "dependencies": {
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
+      },
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/jsbn": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true
+    },
+    "node_modules/jsdom": {
+      "version": "14.1.0",
+      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-14.1.0.tgz",
+      "integrity": "sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng==",
+      "dev": true,
+      "dependencies": {
+        "abab": "^2.0.0",
+        "acorn": "^6.0.4",
+        "acorn-globals": "^4.3.0",
+        "array-equal": "^1.0.0",
+        "cssom": "^0.3.4",
+        "cssstyle": "^1.1.1",
+        "data-urls": "^1.1.0",
+        "domexception": "^1.0.1",
+        "escodegen": "^1.11.0",
+        "html-encoding-sniffer": "^1.0.2",
+        "nwsapi": "^2.1.3",
+        "parse5": "5.1.0",
+        "pn": "^1.1.0",
+        "request": "^2.88.0",
+        "request-promise-native": "^1.0.5",
+        "saxes": "^3.1.9",
+        "symbol-tree": "^3.2.2",
+        "tough-cookie": "^2.5.0",
+        "w3c-hr-time": "^1.0.1",
+        "w3c-xmlserializer": "^1.1.2",
+        "webidl-conversions": "^4.0.2",
+        "whatwg-encoding": "^1.0.5",
+        "whatwg-mimetype": "^2.3.0",
+        "whatwg-url": "^7.0.0",
+        "ws": "^6.1.2",
+        "xml-name-validator": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/jsdom/node_modules/acorn": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz",
+      "integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==",
+      "dev": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/jsdom/node_modules/escodegen": {
+      "version": "1.13.0",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.13.0.tgz",
+      "integrity": "sha512-eYk2dCkxR07DsHA/X2hRBj0CFAZeri/LyDMc0C8JT1Hqi6JnVpMhJ7XFITbb0+yZS3lVkaPL2oCkZ3AVmeVbMw==",
+      "dev": true,
+      "dependencies": {
+        "esprima": "^4.0.1",
+        "estraverse": "^4.2.0",
+        "esutils": "^2.0.2",
+        "optionator": "^0.8.1"
+      },
+      "bin": {
+        "escodegen": "bin/escodegen.js",
+        "esgenerate": "bin/esgenerate.js"
+      },
+      "engines": {
+        "node": ">=4.0"
+      },
+      "optionalDependencies": {
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/jsdom/node_modules/ws": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+      "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+      "dev": true,
+      "dependencies": {
+        "async-limiter": "~1.0.0"
+      }
+    },
+    "node_modules/jsesc": {
+      "version": "2.5.2",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "dev": true,
+      "bin": {
+        "jsesc": "bin/jsesc"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/json-buffer": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+      "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+      "dev": true
+    },
+    "node_modules/json-parse-better-errors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+      "dev": true
+    },
+    "node_modules/json-schema": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+      "dev": true
+    },
+    "node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
+    },
+    "node_modules/json-stringify-safe": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
+    },
+    "node_modules/json5": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
+      "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "json5": "lib/cli.js"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/json5/node_modules/minimist": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+      "dev": true
+    },
+    "node_modules/jsonfile": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+      "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+      "dev": true,
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/jsprim": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+      "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+      "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ],
+      "dependencies": {
+        "assert-plus": "1.0.0",
+        "extsprintf": "1.3.0",
+        "json-schema": "0.2.3",
+        "verror": "1.10.0"
+      }
+    },
+    "node_modules/keyv": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
+      "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
+      "dev": true,
+      "dependencies": {
+        "json-buffer": "3.0.0"
+      }
+    },
+    "node_modules/kind-of": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/latest-version": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
+      "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
+      "dev": true,
+      "dependencies": {
+        "package-json": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/leven": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+      "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/levenary": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
+      "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
+      "dev": true,
+      "dependencies": {
+        "leven": "^3.1.0"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/levn": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+      "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+      "dev": true,
+      "dependencies": {
+        "prelude-ls": "~1.1.2",
+        "type-check": "~0.3.2"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/lines-and-columns": {
+      "version": "1.1.6",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
+      "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
+      "dev": true
+    },
+    "node_modules/load-json-file": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-5.3.0.tgz",
+      "integrity": "sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.15",
+        "parse-json": "^4.0.0",
+        "pify": "^4.0.1",
+        "strip-bom": "^3.0.0",
+        "type-fest": "^0.3.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/lodash": {
+      "version": "4.17.15",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+      "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+      "dev": true
+    },
+    "node_modules/lodash.clone": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz",
+      "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=",
+      "dev": true
+    },
+    "node_modules/lodash.clonedeep": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
+      "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=",
+      "dev": true
+    },
+    "node_modules/lodash.flattendeep": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz",
+      "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=",
+      "dev": true
+    },
+    "node_modules/lodash.islength": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/lodash.islength/-/lodash.islength-4.0.1.tgz",
+      "integrity": "sha1-Tpho1FJXXXUK/9NYyXlUPcIO1Xc=",
+      "dev": true
+    },
+    "node_modules/lodash.memoize": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+      "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+      "dev": true
+    },
+    "node_modules/lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+      "dev": true
+    },
+    "node_modules/lodash.sortby": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+      "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+      "dev": true
+    },
+    "node_modules/lodash.uniq": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+      "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=",
+      "dev": true
+    },
+    "node_modules/log-symbols": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz",
+      "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/loose-envify": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+      "dev": true,
+      "dependencies": {
+        "js-tokens": "^3.0.0 || ^4.0.0"
+      },
+      "bin": {
+        "loose-envify": "cli.js"
+      }
+    },
+    "node_modules/lowercase-keys": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+      "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/lunr": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.8.tgz",
+      "integrity": "sha512-oxMeX/Y35PNFuZoHp+jUj5OSEmLCaIH4KTFJh7a93cHBoFmpw2IoPs22VIz7vyO2YUnx2Tn9dzIwO2P/4quIRg==",
+      "dev": true
+    },
+    "node_modules/magic-string": {
+      "version": "0.22.5",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz",
+      "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
+      "dev": true,
+      "dependencies": {
+        "vlq": "^0.2.2"
+      }
+    },
+    "node_modules/make-dir": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.0.tgz",
+      "integrity": "sha512-grNJDhb8b1Jm1qeqW5R/O63wUo4UXo2v2HMic6YT9i/HBlF93S8jkMgH7yugvY9ABDShH4VZMn8I+U8+fCNegw==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/make-dir/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/make-error": {
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+      "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+      "dev": true
+    },
+    "node_modules/map-cache": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/map-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+      "dev": true,
+      "dependencies": {
+        "object-visit": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/marked": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.0.tgz",
+      "integrity": "sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ==",
+      "dev": true,
+      "bin": {
+        "marked": "bin/marked"
+      },
+      "engines": {
+        "node": ">= 8.16.2"
+      }
+    },
+    "node_modules/matcher": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz",
+      "integrity": "sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==",
+      "dev": true,
+      "dependencies": {
+        "escape-string-regexp": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/matcher/node_modules/escape-string-regexp": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+      "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/md5-hex": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/md5-hex/-/md5-hex-3.0.1.tgz",
+      "integrity": "sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==",
+      "dev": true,
+      "dependencies": {
+        "blueimp-md5": "^2.10.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/md5-o-matic": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/md5-o-matic/-/md5-o-matic-0.1.1.tgz",
+      "integrity": "sha1-givM1l4RfFFPqxdrJZRdVBAKA8M=",
+      "dev": true
+    },
+    "node_modules/md5.js": {
+      "version": "1.3.5",
+      "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+      "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+      "dev": true,
+      "dependencies": {
+        "hash-base": "^3.0.0",
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.1.2"
+      }
+    },
+    "node_modules/mdn-data": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
+      "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
+      "dev": true
+    },
+    "node_modules/merge2": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.3.0.tgz",
+      "integrity": "sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/micromatch": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+      "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+      "dev": true,
+      "dependencies": {
+        "braces": "^3.0.1",
+        "picomatch": "^2.0.5"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/miller-rabin": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+      "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+      "dev": true,
+      "dependencies": {
+        "bn.js": "^4.0.0",
+        "brorand": "^1.0.1"
+      },
+      "bin": {
+        "miller-rabin": "bin/miller-rabin"
+      }
+    },
+    "node_modules/mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
+      "bin": {
+        "mime": "cli.js"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/mime-db": {
+      "version": "1.43.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
+      "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mime-types": {
+      "version": "2.1.26",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
+      "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
+      "dev": true,
+      "dependencies": {
+        "mime-db": "1.43.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/mimic-fn": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/mimic-response": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+      "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/minimalistic-assert": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+      "dev": true
+    },
+    "node_modules/minimalistic-crypto-utils": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+      "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+      "dev": true
+    },
+    "node_modules/minimatch": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+      "dev": true,
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/minimist": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+      "dev": true
+    },
+    "node_modules/mixin-deep": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+      "dev": true,
+      "dependencies": {
+        "for-in": "^1.0.2",
+        "is-extendable": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/mixin-deep/node_modules/is-extendable": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+      "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+      "dev": true,
+      "dependencies": {
+        "is-plain-object": "^2.0.4"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/mixin-deep/node_modules/is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/mixin-deep/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/mkdirp": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "deprecated": "Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)",
+      "dev": true,
+      "dependencies": {
+        "minimist": "0.0.8"
+      },
+      "bin": {
+        "mkdirp": "bin/cmd.js"
+      }
+    },
+    "node_modules/mkdirp/node_modules/minimist": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+      "dev": true
+    },
+    "node_modules/ms": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "dev": true
+    },
+    "node_modules/mute-stream": {
+      "version": "0.0.8",
+      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+      "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+      "dev": true
+    },
+    "node_modules/nan": {
+      "version": "2.14.0",
+      "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
+      "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==",
+      "dev": true,
+      "optional": true
+    },
+    "node_modules/nanomatch": {
+      "version": "1.2.13",
+      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+      "dev": true,
+      "dependencies": {
+        "arr-diff": "^4.0.0",
+        "array-unique": "^0.3.2",
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "fragment-cache": "^0.2.1",
+        "is-windows": "^1.0.2",
+        "kind-of": "^6.0.2",
+        "object.pick": "^1.3.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/neo-async": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
+      "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
+      "dev": true
+    },
+    "node_modules/nice-try": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+      "dev": true
+    },
+    "node_modules/node-addon-api": {
+      "version": "1.7.1",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.1.tgz",
+      "integrity": "sha512-2+DuKodWvwRTrCfKOeR24KIc5unKjOh8mz17NCzVnHWfjAdDqbfbjqh7gUT+BkXBRQM52+xCHciKWonJ3CbJMQ==",
+      "dev": true
+    },
+    "node_modules/node-forge": {
+      "version": "0.7.6",
+      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.6.tgz",
+      "integrity": "sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/node-libs-browser": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
+      "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
+      "dev": true,
+      "dependencies": {
+        "assert": "^1.1.1",
+        "browserify-zlib": "^0.2.0",
+        "buffer": "^4.3.0",
+        "console-browserify": "^1.1.0",
+        "constants-browserify": "^1.0.0",
+        "crypto-browserify": "^3.11.0",
+        "domain-browser": "^1.1.1",
+        "events": "^3.0.0",
+        "https-browserify": "^1.0.0",
+        "os-browserify": "^0.3.0",
+        "path-browserify": "0.0.1",
+        "process": "^0.11.10",
+        "punycode": "^1.2.4",
+        "querystring-es3": "^0.2.0",
+        "readable-stream": "^2.3.3",
+        "stream-browserify": "^2.0.1",
+        "stream-http": "^2.7.2",
+        "string_decoder": "^1.0.0",
+        "timers-browserify": "^2.0.4",
+        "tty-browserify": "0.0.0",
+        "url": "^0.11.0",
+        "util": "^0.11.0",
+        "vm-browserify": "^1.0.1"
+      }
+    },
+    "node_modules/node-libs-browser/node_modules/punycode": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+      "dev": true
+    },
+    "node_modules/node-preload": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz",
+      "integrity": "sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==",
+      "dev": true,
+      "dependencies": {
+        "process-on-spawn": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/node-releases": {
+      "version": "1.1.47",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.47.tgz",
+      "integrity": "sha512-k4xjVPx5FpwBUj0Gw7uvFOTF4Ep8Hok1I6qjwL3pLfwe7Y0REQSAqOwwv9TWBCUtMHxcXfY4PgRLRozcChvTcA==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.3.0"
+      }
+    },
+    "node_modules/node-releases/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/normalize-html-whitespace": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-html-whitespace/-/normalize-html-whitespace-1.0.0.tgz",
+      "integrity": "sha512-9ui7CGtOOlehQu0t/OhhlmDyc71mKVlv+4vF+me4iZLPrNtRL2xoquEdfZxasC/bdQi/Hr3iTrpyRKIG+ocabA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/normalize-package-data": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
+      "dependencies": {
+        "hosted-git-info": "^2.1.4",
+        "resolve": "^1.10.0",
+        "semver": "2 || 3 || 4 || 5",
+        "validate-npm-package-license": "^3.0.1"
+      }
+    },
+    "node_modules/normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/normalize-url": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz",
+      "integrity": "sha512-2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/nth-check": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz",
+      "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==",
+      "dev": true,
+      "dependencies": {
+        "boolbase": "~1.0.0"
+      }
+    },
+    "node_modules/nwsapi": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz",
+      "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==",
+      "dev": true
+    },
+    "node_modules/nyc": {
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/nyc/-/nyc-15.0.0.tgz",
+      "integrity": "sha512-qcLBlNCKMDVuKb7d1fpxjPR8sHeMVX0CHarXAVzrVWoFrigCkYR8xcrjfXSPi5HXM7EU78L6ywO7w1c5rZNCNg==",
+      "dev": true,
+      "dependencies": {
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "caching-transform": "^4.0.0",
+        "convert-source-map": "^1.7.0",
+        "decamelize": "^1.2.0",
+        "find-cache-dir": "^3.2.0",
+        "find-up": "^4.1.0",
+        "foreground-child": "^2.0.0",
+        "glob": "^7.1.6",
+        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-hook": "^3.0.0",
+        "istanbul-lib-instrument": "^4.0.0",
+        "istanbul-lib-processinfo": "^2.0.2",
+        "istanbul-lib-report": "^3.0.0",
+        "istanbul-lib-source-maps": "^4.0.0",
+        "istanbul-reports": "^3.0.0",
+        "js-yaml": "^3.13.1",
+        "make-dir": "^3.0.0",
+        "node-preload": "^0.2.0",
+        "p-map": "^3.0.0",
+        "process-on-spawn": "^1.0.0",
+        "resolve-from": "^5.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "spawn-wrap": "^2.0.0",
+        "test-exclude": "^6.0.0",
+        "uuid": "^3.3.3",
+        "yargs": "^15.0.2"
+      },
+      "bin": {
+        "nyc": "bin/nyc.js"
+      },
+      "engines": {
+        "node": ">=8.9"
+      }
+    },
+    "node_modules/oauth-sign": {
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+      "dev": true,
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "dev": true,
+      "dependencies": {
+        "copy-descriptor": "^0.1.0",
+        "define-property": "^0.2.5",
+        "kind-of": "^3.0.3"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-copy/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-inspect": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+      "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+      "dev": true,
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/object-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/object-visit": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object-visit/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object.assign": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+      "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.2",
+        "function-bind": "^1.1.1",
+        "has-symbols": "^1.0.0",
+        "object-keys": "^1.0.11"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/object.getownpropertydescriptors": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
+      "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3",
+        "es-abstract": "^1.17.0-next.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/object.pick": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object.pick/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/object.values": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz",
+      "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3",
+        "es-abstract": "^1.17.0-next.1",
+        "function-bind": "^1.1.1",
+        "has": "^1.0.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/on-finished": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+      "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+      "dev": true,
+      "dependencies": {
+        "ee-first": "1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+      "dev": true,
+      "dependencies": {
+        "wrappy": "1"
+      }
+    },
+    "node_modules/onetime": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+      "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+      "dev": true,
+      "dependencies": {
+        "mimic-fn": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/opn": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz",
+      "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==",
+      "dev": true,
+      "dependencies": {
+        "is-wsl": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/optimist": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+      "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+      "dev": true,
+      "dependencies": {
+        "minimist": "~0.0.1",
+        "wordwrap": "~0.0.2"
+      }
+    },
+    "node_modules/optimist/node_modules/minimist": {
+      "version": "0.0.10",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+      "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+      "dev": true
+    },
+    "node_modules/optionator": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+      "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+      "dev": true,
+      "dependencies": {
+        "deep-is": "~0.1.3",
+        "fast-levenshtein": "~2.0.6",
+        "levn": "~0.3.0",
+        "prelude-ls": "~1.1.2",
+        "type-check": "~0.3.2",
+        "word-wrap": "~1.2.3"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/ora": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz",
+      "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^3.0.0",
+        "cli-cursor": "^3.1.0",
+        "cli-spinners": "^2.2.0",
+        "is-interactive": "^1.0.0",
+        "log-symbols": "^3.0.0",
+        "mute-stream": "0.0.8",
+        "strip-ansi": "^6.0.0",
+        "wcwidth": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ora/node_modules/chalk": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+      "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ora/node_modules/log-symbols": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
+      "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.4.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ora/node_modules/log-symbols/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ora/node_modules/log-symbols/node_modules/chalk": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.1",
+        "escape-string-regexp": "^1.0.5",
+        "supports-color": "^5.3.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ora/node_modules/log-symbols/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/ora/node_modules/strip-ansi": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/os-browserify": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+      "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+      "dev": true
+    },
+    "node_modules/p-cancelable": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
+      "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/p-limit": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
+      "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+      "dev": true,
+      "dependencies": {
+        "p-try": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-map": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
+      "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+      "dev": true,
+      "dependencies": {
+        "aggregate-error": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/package-hash": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-4.0.0.tgz",
+      "integrity": "sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.1.15",
+        "hasha": "^5.0.0",
+        "lodash.flattendeep": "^4.4.0",
+        "release-zalgo": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/package-json": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
+      "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
+      "dev": true,
+      "dependencies": {
+        "got": "^9.6.0",
+        "registry-auth-token": "^4.0.0",
+        "registry-url": "^5.0.0",
+        "semver": "^6.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/package-json/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/pako": {
+      "version": "0.2.9",
+      "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz",
+      "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=",
+      "dev": true
+    },
+    "node_modules/parcel": {
+      "version": "1.12.4",
+      "resolved": "https://registry.npmjs.org/parcel/-/parcel-1.12.4.tgz",
+      "integrity": "sha512-qfc74e2/R4pCoU6L/ZZnK9k3iDS6ir4uHea0e9th9w52eehcAGf2ido/iABq9PBXdsIOe4NSY3oUm7Khe7+S3w==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.0.0",
+        "@babel/core": "^7.4.4",
+        "@babel/generator": "^7.4.4",
+        "@babel/parser": "^7.4.4",
+        "@babel/plugin-transform-flow-strip-types": "^7.4.4",
+        "@babel/plugin-transform-modules-commonjs": "^7.4.4",
+        "@babel/plugin-transform-react-jsx": "^7.0.0",
+        "@babel/preset-env": "^7.4.4",
+        "@babel/runtime": "^7.4.4",
+        "@babel/template": "^7.4.4",
+        "@babel/traverse": "^7.4.4",
+        "@babel/types": "^7.4.4",
+        "@iarna/toml": "^2.2.0",
+        "@parcel/fs": "^1.11.0",
+        "@parcel/logger": "^1.11.1",
+        "@parcel/utils": "^1.11.0",
+        "@parcel/watcher": "^1.12.1",
+        "@parcel/workers": "^1.11.0",
+        "ansi-to-html": "^0.6.4",
+        "babylon-walk": "^1.0.2",
+        "browserslist": "^4.1.0",
+        "chalk": "^2.1.0",
+        "clone": "^2.1.1",
+        "command-exists": "^1.2.6",
+        "commander": "^2.11.0",
+        "core-js": "^2.6.5",
+        "cross-spawn": "^6.0.4",
+        "css-modules-loader-core": "^1.1.0",
+        "cssnano": "^4.0.0",
+        "deasync": "^0.1.14",
+        "dotenv": "^5.0.0",
+        "dotenv-expand": "^5.1.0",
+        "envinfo": "^7.3.1",
+        "fast-glob": "^2.2.2",
+        "filesize": "^3.6.0",
+        "get-port": "^3.2.0",
+        "htmlnano": "^0.2.2",
+        "is-glob": "^4.0.0",
+        "is-url": "^1.2.2",
+        "js-yaml": "^3.10.0",
+        "json5": "^1.0.1",
+        "micromatch": "^3.0.4",
+        "mkdirp": "^0.5.1",
+        "node-forge": "^0.7.1",
+        "node-libs-browser": "^2.0.0",
+        "opn": "^5.1.0",
+        "postcss": "^7.0.11",
+        "postcss-value-parser": "^3.3.1",
+        "posthtml": "^0.11.2",
+        "posthtml-parser": "^0.4.0",
+        "posthtml-render": "^1.1.3",
+        "resolve": "^1.4.0",
+        "semver": "^5.4.1",
+        "serialize-to-js": "^3.0.0",
+        "serve-static": "^1.12.4",
+        "source-map": "0.6.1",
+        "terser": "^3.7.3",
+        "v8-compile-cache": "^2.0.0",
+        "ws": "^5.1.1"
+      },
+      "bin": {
+        "parcel": "bin/cli.js"
+      },
+      "engines": {
+        "node": ">= 6.0.0"
+      }
+    },
+    "node_modules/parcel/node_modules/@nodelib/fs.stat": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
+      "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/parcel/node_modules/braces": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
+      "dependencies": {
+        "arr-flatten": "^1.1.0",
+        "array-unique": "^0.3.2",
+        "extend-shallow": "^2.0.1",
+        "fill-range": "^4.0.0",
+        "isobject": "^3.0.1",
+        "repeat-element": "^1.1.2",
+        "snapdragon": "^0.8.1",
+        "snapdragon-node": "^2.0.1",
+        "split-string": "^3.0.2",
+        "to-regex": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/braces/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/clone": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/parcel/node_modules/cross-spawn": {
+      "version": "6.0.5",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+      "dev": true,
+      "dependencies": {
+        "nice-try": "^1.0.4",
+        "path-key": "^2.0.1",
+        "semver": "^5.5.0",
+        "shebang-command": "^1.2.0",
+        "which": "^1.2.9"
+      },
+      "engines": {
+        "node": ">=4.8"
+      }
+    },
+    "node_modules/parcel/node_modules/fast-glob": {
+      "version": "2.2.7",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz",
+      "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==",
+      "dev": true,
+      "dependencies": {
+        "@mrmlnc/readdir-enhanced": "^2.2.1",
+        "@nodelib/fs.stat": "^1.1.2",
+        "glob-parent": "^3.1.0",
+        "is-glob": "^4.0.0",
+        "merge2": "^1.2.3",
+        "micromatch": "^3.1.10"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/parcel/node_modules/fill-range": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^2.0.1",
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1",
+        "to-regex-range": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/fill-range/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/get-port": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
+      "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/parcel/node_modules/glob-parent": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+      "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "dev": true,
+      "dependencies": {
+        "is-glob": "^3.1.0",
+        "path-dirname": "^1.0.0"
+      }
+    },
+    "node_modules/parcel/node_modules/glob-parent/node_modules/is-glob": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+      "dev": true,
+      "dependencies": {
+        "is-extglob": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/is-number": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/is-number/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/json5": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "json5": "lib/cli.js"
+      }
+    },
+    "node_modules/parcel/node_modules/micromatch": {
+      "version": "3.1.10",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
+      "dependencies": {
+        "arr-diff": "^4.0.0",
+        "array-unique": "^0.3.2",
+        "braces": "^2.3.1",
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "extglob": "^2.0.4",
+        "fragment-cache": "^0.2.1",
+        "kind-of": "^6.0.2",
+        "nanomatch": "^1.2.9",
+        "object.pick": "^1.3.0",
+        "regex-not": "^1.0.0",
+        "snapdragon": "^0.8.1",
+        "to-regex": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parcel/node_modules/minimist": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+      "dev": true
+    },
+    "node_modules/parcel/node_modules/to-regex-range": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^3.0.0",
+        "repeat-string": "^1.6.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/parse-asn1": {
+      "version": "5.1.5",
+      "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz",
+      "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==",
+      "dev": true,
+      "dependencies": {
+        "asn1.js": "^4.0.0",
+        "browserify-aes": "^1.0.0",
+        "create-hash": "^1.1.0",
+        "evp_bytestokey": "^1.0.0",
+        "pbkdf2": "^3.0.3",
+        "safe-buffer": "^5.1.1"
+      }
+    },
+    "node_modules/parse-json": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+      "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
+      "dev": true,
+      "dependencies": {
+        "error-ex": "^1.3.1",
+        "json-parse-better-errors": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/parse-ms": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz",
+      "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/parse5": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+      "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+      "dev": true
+    },
+    "node_modules/parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/pascalcase": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/path-browserify": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
+      "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
+      "dev": true
+    },
+    "node_modules/path-dirname": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+      "dev": true
+    },
+    "node_modules/path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/path-key": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/path-parse": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+      "dev": true
+    },
+    "node_modules/path-type": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+      "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/pbkdf2": {
+      "version": "3.0.17",
+      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
+      "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+      "dev": true,
+      "dependencies": {
+        "create-hash": "^1.1.2",
+        "create-hmac": "^1.1.4",
+        "ripemd160": "^2.0.1",
+        "safe-buffer": "^5.0.1",
+        "sha.js": "^2.4.8"
+      },
+      "engines": {
+        "node": ">=0.12"
+      }
+    },
+    "node_modules/performance-now": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+      "dev": true
+    },
+    "node_modules/physical-cpu-count": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/physical-cpu-count/-/physical-cpu-count-2.0.0.tgz",
+      "integrity": "sha1-GN4vl+S/epVRrXURlCtUlverpmA=",
+      "dev": true
+    },
+    "node_modules/picomatch": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.1.tgz",
+      "integrity": "sha512-ISBaA8xQNmwELC7eOjqFKMESB2VIqt4PPDD0nsS95b/9dZXvVKOlz9keMSnoGGKcOHXfTvDD6WMaRoSc9UuhRA==",
+      "dev": true,
+      "engines": {
+        "node": ">=8.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/pify": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pkg-conf": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-3.1.0.tgz",
+      "integrity": "sha512-m0OTbR/5VPNPqO1ph6Fqbj7Hv6QU7gR/tQW40ZqrL1rjgCU85W6C1bJn0BItuJqnR98PWzw7Z8hHeChD1WrgdQ==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^3.0.0",
+        "load-json-file": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pkg-conf/node_modules/find-up": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pkg-conf/node_modules/locate-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^3.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pkg-conf/node_modules/p-locate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pkg-conf/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/pkg-dir": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+      "dev": true,
+      "dependencies": {
+        "find-up": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/plur": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/plur/-/plur-4.0.0.tgz",
+      "integrity": "sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==",
+      "dev": true,
+      "dependencies": {
+        "irregular-plurals": "^3.2.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/pn": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
+      "integrity": "sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==",
+      "dev": true
+    },
+    "node_modules/posix-character-classes": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/postcss": {
+      "version": "7.0.26",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.26.tgz",
+      "integrity": "sha512-IY4oRjpXWYshuTDFxMVkJDtWIk2LhsTlu8bZnbEJA4+bYT16Lvpo8Qv6EvDumhYRgzjZl489pmsY3qVgJQ08nA==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.4.2",
+        "source-map": "^0.6.1",
+        "supports-color": "^6.1.0"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      },
+      "funding": {
+        "type": "tidelift",
+        "url": "https://tidelift.com/funding/github/npm/postcss"
+      }
+    },
+    "node_modules/postcss-calc": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.1.tgz",
+      "integrity": "sha512-oXqx0m6tb4N3JGdmeMSc/i91KppbYsFZKdH0xMOqK8V1rJlzrKlTdokz8ozUXLVejydRN6u2IddxpcijRj2FqQ==",
+      "dev": true,
+      "dependencies": {
+        "css-unit-converter": "^1.1.1",
+        "postcss": "^7.0.5",
+        "postcss-selector-parser": "^5.0.0-rc.4",
+        "postcss-value-parser": "^3.3.1"
+      }
+    },
+    "node_modules/postcss-colormin": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz",
+      "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.0.0",
+        "color": "^3.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-convert-values": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz",
+      "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-discard-comments": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz",
+      "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-discard-duplicates": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz",
+      "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-discard-empty": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz",
+      "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-discard-overridden": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz",
+      "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-merge-longhand": {
+      "version": "4.0.11",
+      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz",
+      "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==",
+      "dev": true,
+      "dependencies": {
+        "css-color-names": "0.0.4",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0",
+        "stylehacks": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-merge-rules": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz",
+      "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.0.0",
+        "caniuse-api": "^3.0.0",
+        "cssnano-util-same-parent": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-selector-parser": "^3.0.0",
+        "vendors": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-merge-rules/node_modules/dot-prop": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+      "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+      "dev": true,
+      "dependencies": {
+        "is-obj": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-merge-rules/node_modules/is-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+      "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+      "dev": true,
+      "dependencies": {
+        "dot-prop": "^4.1.1",
+        "indexes-of": "^1.0.1",
+        "uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-minify-font-values": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz",
+      "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-minify-gradients": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz",
+      "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==",
+      "dev": true,
+      "dependencies": {
+        "cssnano-util-get-arguments": "^4.0.0",
+        "is-color-stop": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-minify-params": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz",
+      "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==",
+      "dev": true,
+      "dependencies": {
+        "alphanum-sort": "^1.0.0",
+        "browserslist": "^4.0.0",
+        "cssnano-util-get-arguments": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0",
+        "uniqs": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-minify-selectors": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz",
+      "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==",
+      "dev": true,
+      "dependencies": {
+        "alphanum-sort": "^1.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-selector-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-minify-selectors/node_modules/dot-prop": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+      "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+      "dev": true,
+      "dependencies": {
+        "is-obj": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-minify-selectors/node_modules/is-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+      "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+      "dev": true,
+      "dependencies": {
+        "dot-prop": "^4.1.1",
+        "indexes-of": "^1.0.1",
+        "uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-modules-extract-imports": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz",
+      "integrity": "sha1-thTJcgvmgW6u41+zpfqh26agXds=",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^6.0.1"
+      }
+    },
+    "node_modules/postcss-modules-extract-imports/node_modules/postcss": {
+      "version": "6.0.23",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.4.1",
+        "source-map": "^0.6.1",
+        "supports-color": "^5.4.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/postcss-modules-extract-imports/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-modules-local-by-default": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz",
+      "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=",
+      "dev": true,
+      "dependencies": {
+        "css-selector-tokenizer": "^0.7.0",
+        "postcss": "^6.0.1"
+      }
+    },
+    "node_modules/postcss-modules-local-by-default/node_modules/postcss": {
+      "version": "6.0.23",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.4.1",
+        "source-map": "^0.6.1",
+        "supports-color": "^5.4.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/postcss-modules-local-by-default/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-modules-scope": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz",
+      "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=",
+      "dev": true,
+      "dependencies": {
+        "css-selector-tokenizer": "^0.7.0",
+        "postcss": "^6.0.1"
+      }
+    },
+    "node_modules/postcss-modules-scope/node_modules/postcss": {
+      "version": "6.0.23",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.4.1",
+        "source-map": "^0.6.1",
+        "supports-color": "^5.4.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/postcss-modules-scope/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-modules-values": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz",
+      "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=",
+      "dev": true,
+      "dependencies": {
+        "icss-replace-symbols": "^1.1.0",
+        "postcss": "^6.0.1"
+      }
+    },
+    "node_modules/postcss-modules-values/node_modules/postcss": {
+      "version": "6.0.23",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz",
+      "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.4.1",
+        "source-map": "^0.6.1",
+        "supports-color": "^5.4.0"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/postcss-modules-values/node_modules/supports-color": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-normalize-charset": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
+      "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-normalize-display-values": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz",
+      "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==",
+      "dev": true,
+      "dependencies": {
+        "cssnano-util-get-match": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-normalize-positions": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz",
+      "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==",
+      "dev": true,
+      "dependencies": {
+        "cssnano-util-get-arguments": "^4.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-normalize-repeat-style": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz",
+      "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==",
+      "dev": true,
+      "dependencies": {
+        "cssnano-util-get-arguments": "^4.0.0",
+        "cssnano-util-get-match": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-normalize-string": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz",
+      "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==",
+      "dev": true,
+      "dependencies": {
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-normalize-timing-functions": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz",
+      "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==",
+      "dev": true,
+      "dependencies": {
+        "cssnano-util-get-match": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-normalize-unicode": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz",
+      "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-normalize-url": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz",
+      "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==",
+      "dev": true,
+      "dependencies": {
+        "is-absolute-url": "^2.0.0",
+        "normalize-url": "^3.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-normalize-url/node_modules/normalize-url": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz",
+      "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/postcss-normalize-whitespace": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz",
+      "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==",
+      "dev": true,
+      "dependencies": {
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-ordered-values": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz",
+      "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==",
+      "dev": true,
+      "dependencies": {
+        "cssnano-util-get-arguments": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-reduce-initial": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz",
+      "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.0.0",
+        "caniuse-api": "^3.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-reduce-transforms": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz",
+      "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==",
+      "dev": true,
+      "dependencies": {
+        "cssnano-util-get-match": "^4.0.0",
+        "has": "^1.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-selector-parser": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz",
+      "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==",
+      "dev": true,
+      "dependencies": {
+        "cssesc": "^2.0.0",
+        "indexes-of": "^1.0.1",
+        "uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-selector-parser/node_modules/cssesc": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz",
+      "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==",
+      "dev": true,
+      "bin": {
+        "cssesc": "bin/cssesc"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-svgo": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz",
+      "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==",
+      "dev": true,
+      "dependencies": {
+        "is-svg": "^3.0.0",
+        "postcss": "^7.0.0",
+        "postcss-value-parser": "^3.0.0",
+        "svgo": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-unique-selectors": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz",
+      "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==",
+      "dev": true,
+      "dependencies": {
+        "alphanum-sort": "^1.0.0",
+        "postcss": "^7.0.0",
+        "uniqs": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/postcss-value-parser": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz",
+      "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==",
+      "dev": true
+    },
+    "node_modules/postcss/node_modules/supports-color": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
+      "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/posthtml": {
+      "version": "0.11.6",
+      "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.11.6.tgz",
+      "integrity": "sha512-C2hrAPzmRdpuL3iH0TDdQ6XCc9M7Dcc3zEW5BLerY65G4tWWszwv6nG/ksi6ul5i2mx22ubdljgktXCtNkydkw==",
+      "dev": true,
+      "dependencies": {
+        "posthtml-parser": "^0.4.1",
+        "posthtml-render": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/posthtml-parser": {
+      "version": "0.4.2",
+      "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.4.2.tgz",
+      "integrity": "sha512-BUIorsYJTvS9UhXxPTzupIztOMVNPa/HtAm9KHni9z6qEfiJ1bpOBL5DfUOL9XAc3XkLIEzBzpph+Zbm4AdRAg==",
+      "dev": true,
+      "dependencies": {
+        "htmlparser2": "^3.9.2"
+      }
+    },
+    "node_modules/posthtml-render": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/posthtml-render/-/posthtml-render-1.1.5.tgz",
+      "integrity": "sha512-yvt54j0zCBHQVEFAuR+yHld8CZrCa/E1Z/OcFNCV1IEWTLVxT8O7nYnM4IIw1CD4r8kaRd3lc42+0lgCKgm87w==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/prelude-ls": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+      "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/prepend-http": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+      "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/pretty-ms": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-6.0.1.tgz",
+      "integrity": "sha512-ke4njoVmlotekHlHyCZ3wI/c5AMT8peuHs8rKJqekj/oR5G8lND2dVpicFlUz5cbZgE290vvkMuDwfj/OcW1kw==",
+      "dev": true,
+      "dependencies": {
+        "parse-ms": "^2.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/private": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
+      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/process": {
+      "version": "0.11.10",
+      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+      "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6.0"
+      }
+    },
+    "node_modules/process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+      "dev": true
+    },
+    "node_modules/process-on-spawn": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/process-on-spawn/-/process-on-spawn-1.0.0.tgz",
+      "integrity": "sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==",
+      "dev": true,
+      "dependencies": {
+        "fromentries": "^1.2.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/progress": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/psl": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz",
+      "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==",
+      "dev": true
+    },
+    "node_modules/public-encrypt": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+      "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+      "dev": true,
+      "dependencies": {
+        "bn.js": "^4.1.0",
+        "browserify-rsa": "^4.0.0",
+        "create-hash": "^1.1.0",
+        "parse-asn1": "^5.0.0",
+        "randombytes": "^2.0.1",
+        "safe-buffer": "^5.1.2"
+      }
+    },
+    "node_modules/pump": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+      "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+      "dev": true,
+      "dependencies": {
+        "end-of-stream": "^1.1.0",
+        "once": "^1.3.1"
+      }
+    },
+    "node_modules/punycode": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/pupa": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
+      "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
+      "dev": true,
+      "dependencies": {
+        "escape-goat": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/purgecss": {
+      "version": "1.4.2",
+      "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-1.4.2.tgz",
+      "integrity": "sha512-hkOreFTgiyMHMmC2BxzdIw5DuC6kxAbP/gGOGd3MEsF3+5m69rIvUEPaxrnoUtfODTFKe9hcXjGwC6jcjoyhOw==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3",
+        "postcss": "^7.0.14",
+        "postcss-selector-parser": "^6.0.0",
+        "yargs": "^14.0.0"
+      },
+      "bin": {
+        "purgecss": "bin/purgecss"
+      },
+      "engines": {
+        "node": ">=4.4.0",
+        "npm": ">=5.2.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/Ffloriel"
+      }
+    },
+    "node_modules/purgecss/node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/purgecss/node_modules/cssesc": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+      "dev": true,
+      "bin": {
+        "cssesc": "bin/cssesc"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/purgecss/node_modules/emoji-regex": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+      "dev": true
+    },
+    "node_modules/purgecss/node_modules/find-up": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
+      "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+      "dev": true,
+      "dependencies": {
+        "locate-path": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/purgecss/node_modules/is-fullwidth-code-point": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/purgecss/node_modules/locate-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
+      "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+      "dev": true,
+      "dependencies": {
+        "p-locate": "^3.0.0",
+        "path-exists": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/purgecss/node_modules/p-locate": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
+      "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+      "dev": true,
+      "dependencies": {
+        "p-limit": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/purgecss/node_modules/path-exists": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/purgecss/node_modules/postcss-selector-parser": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
+      "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
+      "dev": true,
+      "dependencies": {
+        "cssesc": "^3.0.0",
+        "indexes-of": "^1.0.1",
+        "uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/purgecss/node_modules/string-width": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^7.0.1",
+        "is-fullwidth-code-point": "^2.0.0",
+        "strip-ansi": "^5.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/purgecss/node_modules/yargs": {
+      "version": "14.2.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.2.tgz",
+      "integrity": "sha512-/4ld+4VV5RnrynMhPZJ/ZpOCGSCeghMykZ3BhdFBDa9Wy/RH6uEGNWDJog+aUlq+9OM1CFTgtYRW5Is1Po9NOA==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^5.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^3.0.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^3.0.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^15.0.0"
+      }
+    },
+    "node_modules/purgecss/node_modules/yargs-parser": {
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.0.tgz",
+      "integrity": "sha512-xLTUnCMc4JhxrPEPUYD5IBR1mWCK/aT6+RJ/K29JY2y1vD+FhtgKK0AXRWvI262q3QSffAQuTouFIKUuHX89wQ==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      }
+    },
+    "node_modules/q": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
+      "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6.0",
+        "teleport": ">=0.2.0"
+      }
+    },
+    "node_modules/qs": {
+      "version": "6.5.2",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/querystring": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+      "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+      "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.x"
+      }
+    },
+    "node_modules/querystring-es3": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+      "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.x"
+      }
+    },
+    "node_modules/quote-stream": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz",
+      "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=",
+      "dev": true,
+      "dependencies": {
+        "buffer-equal": "0.0.1",
+        "minimist": "^1.1.3",
+        "through2": "^2.0.0"
+      },
+      "bin": {
+        "quote-stream": "bin/cmd.js"
+      }
+    },
+    "node_modules/quote-stream/node_modules/minimist": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+      "dev": true
+    },
+    "node_modules/randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "node_modules/randomfill": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+      "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+      "dev": true,
+      "dependencies": {
+        "randombytes": "^2.0.5",
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "node_modules/range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/rc": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+      "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+      "dev": true,
+      "dependencies": {
+        "deep-extend": "^0.6.0",
+        "ini": "~1.3.0",
+        "minimist": "^1.2.0",
+        "strip-json-comments": "~2.0.1"
+      },
+      "bin": {
+        "rc": "cli.js"
+      }
+    },
+    "node_modules/read-pkg": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
+      "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
+      "dev": true,
+      "dependencies": {
+        "@types/normalize-package-data": "^2.4.0",
+        "normalize-package-data": "^2.5.0",
+        "parse-json": "^5.0.0",
+        "type-fest": "^0.6.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/read-pkg/node_modules/parse-json": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
+      "integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.0.0",
+        "error-ex": "^1.3.1",
+        "json-parse-better-errors": "^1.0.1",
+        "lines-and-columns": "^1.1.6"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/read-pkg/node_modules/type-fest": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz",
+      "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/readable-stream": {
+      "version": "2.3.7",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+      "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+      "dev": true,
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
+      }
+    },
+    "node_modules/readdirp": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
+      "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
+      "dev": true,
+      "dependencies": {
+        "picomatch": "^2.0.7"
+      },
+      "engines": {
+        "node": ">=8.10.0"
+      }
+    },
+    "node_modules/rechoir": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+      "dev": true,
+      "dependencies": {
+        "resolve": "^1.1.6"
+      },
+      "engines": {
+        "node": ">= 0.10"
+      }
+    },
+    "node_modules/regenerate": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
+      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+      "dev": true
+    },
+    "node_modules/regenerate-unicode-properties": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
+      "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+      "dev": true,
+      "dependencies": {
+        "regenerate": "^1.4.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/regenerator-runtime": {
+      "version": "0.13.3",
+      "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
+      "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
+      "dev": true
+    },
+    "node_modules/regenerator-transform": {
+      "version": "0.14.1",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
+      "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
+      "dev": true,
+      "dependencies": {
+        "private": "^0.1.6"
+      }
+    },
+    "node_modules/regex-not": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^3.0.2",
+        "safe-regex": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/regexpu-core": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
+      "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+      "dev": true,
+      "dependencies": {
+        "regenerate": "^1.4.0",
+        "regenerate-unicode-properties": "^8.1.0",
+        "regjsgen": "^0.5.0",
+        "regjsparser": "^0.6.0",
+        "unicode-match-property-ecmascript": "^1.0.4",
+        "unicode-match-property-value-ecmascript": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/registry-auth-token": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.1.1.tgz",
+      "integrity": "sha512-9bKS7nTl9+/A1s7tnPeGrUpRcVY+LUh7bfFgzpndALdPfXQBfQV77rQVtqgUV3ti4vc/Ik81Ex8UJDWDQ12zQA==",
+      "dev": true,
+      "dependencies": {
+        "rc": "^1.2.8"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/registry-url": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
+      "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
+      "dev": true,
+      "dependencies": {
+        "rc": "^1.2.8"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/regjsgen": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+      "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
+      "dev": true
+    },
+    "node_modules/regjsparser": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.1.tgz",
+      "integrity": "sha512-7LutE94sz/NKSYegK+/4E77+8DipxF+Qn2Tmu362AcmsF2NYq/wx3+ObvU90TKEhjf7hQoFXo23ajjrXP7eUgg==",
+      "dev": true,
+      "dependencies": {
+        "jsesc": "~0.5.0"
+      },
+      "bin": {
+        "regjsparser": "bin/parser"
+      }
+    },
+    "node_modules/regjsparser/node_modules/jsesc": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+      "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+      "dev": true,
+      "bin": {
+        "jsesc": "bin/jsesc"
+      }
+    },
+    "node_modules/release-zalgo": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz",
+      "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=",
+      "dev": true,
+      "dependencies": {
+        "es6-error": "^4.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/remove-trailing-separator": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+      "dev": true
+    },
+    "node_modules/repeat-element": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/repeat-string": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10"
+      }
+    },
+    "node_modules/request": {
+      "version": "2.88.0",
+      "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+      "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+      "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+      "dev": true,
+      "dependencies": {
+        "aws-sign2": "~0.7.0",
+        "aws4": "^1.8.0",
+        "caseless": "~0.12.0",
+        "combined-stream": "~1.0.6",
+        "extend": "~3.0.2",
+        "forever-agent": "~0.6.1",
+        "form-data": "~2.3.2",
+        "har-validator": "~5.1.0",
+        "http-signature": "~1.2.0",
+        "is-typedarray": "~1.0.0",
+        "isstream": "~0.1.2",
+        "json-stringify-safe": "~5.0.1",
+        "mime-types": "~2.1.19",
+        "oauth-sign": "~0.9.0",
+        "performance-now": "^2.1.0",
+        "qs": "~6.5.2",
+        "safe-buffer": "^5.1.2",
+        "tough-cookie": "~2.4.3",
+        "tunnel-agent": "^0.6.0",
+        "uuid": "^3.3.2"
+      },
+      "engines": {
+        "node": ">= 4"
+      }
+    },
+    "node_modules/request-promise-core": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.3.tgz",
+      "integrity": "sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ==",
+      "dev": true,
+      "dependencies": {
+        "lodash": "^4.17.15"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      },
+      "peerDependencies": {
+        "request": "^2.34"
+      }
+    },
+    "node_modules/request-promise-native": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.8.tgz",
+      "integrity": "sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ==",
+      "deprecated": "request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142",
+      "dev": true,
+      "dependencies": {
+        "request-promise-core": "1.1.3",
+        "stealthy-require": "^1.1.1",
+        "tough-cookie": "^2.3.3"
+      },
+      "engines": {
+        "node": ">=0.12.0"
+      },
+      "peerDependencies": {
+        "request": "^2.34"
+      }
+    },
+    "node_modules/request/node_modules/punycode": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+      "dev": true
+    },
+    "node_modules/request/node_modules/tough-cookie": {
+      "version": "2.4.3",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+      "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+      "dev": true,
+      "dependencies": {
+        "psl": "^1.1.24",
+        "punycode": "^1.4.1"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+      "dev": true
+    },
+    "node_modules/resolve": {
+      "version": "1.13.1",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.13.1.tgz",
+      "integrity": "sha512-CxqObCX8K8YtAhOBRg+lrcdn+LK+WYOS8tSjqSFbjtrI5PnS63QPhZl4+yKfrU9tdsbMu9Anr/amegT87M9Z6w==",
+      "dev": true,
+      "dependencies": {
+        "path-parse": "^1.0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/resolve-cwd": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+      "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+      "dev": true,
+      "dependencies": {
+        "resolve-from": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/resolve-url": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+      "deprecated": "https://github.com/lydell/resolve-url#deprecated",
+      "dev": true
+    },
+    "node_modules/responselike": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+      "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+      "dev": true,
+      "dependencies": {
+        "lowercase-keys": "^1.0.0"
+      }
+    },
+    "node_modules/restore-cursor": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+      "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+      "dev": true,
+      "dependencies": {
+        "onetime": "^5.1.0",
+        "signal-exit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/ret": {
+      "version": "0.1.15",
+      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.12"
+      }
+    },
+    "node_modules/reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "dev": true,
+      "engines": {
+        "iojs": ">=1.0.0",
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/rgb-regex": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz",
+      "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=",
+      "dev": true
+    },
+    "node_modules/rgba-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz",
+      "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=",
+      "dev": true
+    },
+    "node_modules/rimraf": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+      "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.1.3"
+      },
+      "bin": {
+        "rimraf": "bin.js"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/ripemd160": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+      "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+      "dev": true,
+      "dependencies": {
+        "hash-base": "^3.0.0",
+        "inherits": "^2.0.1"
+      }
+    },
+    "node_modules/run-parallel": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+      "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
+      "dev": true
+    },
+    "node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
+    },
+    "node_modules/safe-regex": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+      "dev": true,
+      "dependencies": {
+        "ret": "~0.1.10"
+      }
+    },
+    "node_modules/safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+      "dev": true
+    },
+    "node_modules/sax": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+      "dev": true
+    },
+    "node_modules/saxes": {
+      "version": "3.1.11",
+      "resolved": "https://registry.npmjs.org/saxes/-/saxes-3.1.11.tgz",
+      "integrity": "sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g==",
+      "dev": true,
+      "dependencies": {
+        "xmlchars": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/semver": {
+      "version": "5.7.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/semver-diff": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
+      "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
+      "dev": true,
+      "dependencies": {
+        "semver": "^6.3.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/semver-diff/node_modules/semver": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      }
+    },
+    "node_modules/send": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
+      "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
+      "dev": true,
+      "dependencies": {
+        "debug": "2.6.9",
+        "depd": "~1.1.2",
+        "destroy": "~1.0.4",
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "etag": "~1.8.1",
+        "fresh": "0.5.2",
+        "http-errors": "~1.7.2",
+        "mime": "1.6.0",
+        "ms": "2.1.1",
+        "on-finished": "~2.3.0",
+        "range-parser": "~1.2.1",
+        "statuses": "~1.5.0"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/send/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/send/node_modules/debug/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "node_modules/send/node_modules/ms": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+      "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+      "dev": true
+    },
+    "node_modules/serialize-error": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz",
+      "integrity": "sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/serialize-to-js": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/serialize-to-js/-/serialize-to-js-3.1.1.tgz",
+      "integrity": "sha512-F+NGU0UHMBO4Q965tjw7rvieNVjlH6Lqi2emq/Lc9LUURYJbiCzmpi4Cy1OOjjVPtxu0c+NE85LU6968Wko5ZA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/serve-static": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
+      "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
+      "dev": true,
+      "dependencies": {
+        "encodeurl": "~1.0.2",
+        "escape-html": "~1.0.3",
+        "parseurl": "~1.3.3",
+        "send": "0.17.1"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/set-blocking": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+      "dev": true
+    },
+    "node_modules/set-value": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
+      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^2.0.1",
+        "is-extendable": "^0.1.1",
+        "is-plain-object": "^2.0.3",
+        "split-string": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/set-value/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/set-value/node_modules/is-plain-object": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
+      "dependencies": {
+        "isobject": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/set-value/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/setimmediate": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
+      "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=",
+      "dev": true
+    },
+    "node_modules/setprototypeof": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
+      "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==",
+      "dev": true
+    },
+    "node_modules/sha.js": {
+      "version": "2.4.11",
+      "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+      "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "^2.0.1",
+        "safe-buffer": "^5.0.1"
+      },
+      "bin": {
+        "sha.js": "bin.js"
+      }
+    },
+    "node_modules/shallow-copy": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz",
+      "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=",
+      "dev": true
+    },
+    "node_modules/shebang-command": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+      "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+      "dev": true,
+      "dependencies": {
+        "shebang-regex": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/shebang-regex": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/shelljs": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz",
+      "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==",
+      "dev": true,
+      "dependencies": {
+        "glob": "^7.0.0",
+        "interpret": "^1.0.0",
+        "rechoir": "^0.6.2"
+      },
+      "bin": {
+        "shjs": "bin/shjs"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/signal-exit": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+      "dev": true
+    },
+    "node_modules/simple-swizzle": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
+      "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=",
+      "dev": true,
+      "dependencies": {
+        "is-arrayish": "^0.3.1"
+      }
+    },
+    "node_modules/simple-swizzle/node_modules/is-arrayish": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz",
+      "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
+      "dev": true
+    },
+    "node_modules/slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/slice-ansi": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz",
+      "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "astral-regex": "^2.0.0",
+        "is-fullwidth-code-point": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/snapdragon": {
+      "version": "0.8.2",
+      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+      "dev": true,
+      "dependencies": {
+        "base": "^0.11.1",
+        "debug": "^2.2.0",
+        "define-property": "^0.2.5",
+        "extend-shallow": "^2.0.1",
+        "map-cache": "^0.2.2",
+        "source-map": "^0.5.6",
+        "source-map-resolve": "^0.5.0",
+        "use": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+      "dev": true,
+      "dependencies": {
+        "define-property": "^1.0.0",
+        "isobject": "^3.0.0",
+        "snapdragon-util": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/define-property": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+      "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+      "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/is-data-descriptor": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+      "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/is-descriptor": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+      "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+      "dev": true,
+      "dependencies": {
+        "is-accessor-descriptor": "^1.0.0",
+        "is-data-descriptor": "^1.0.0",
+        "kind-of": "^6.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-node/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-util": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.2.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon-util/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon/node_modules/debug": {
+      "version": "2.6.9",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.0.0"
+      }
+    },
+    "node_modules/snapdragon/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon/node_modules/extend-shallow": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+      "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+      "dev": true,
+      "dependencies": {
+        "is-extendable": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/snapdragon/node_modules/ms": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
+    },
+    "node_modules/snapdragon/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/source-map-resolve": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
+      "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
+      "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated",
+      "dev": true,
+      "dependencies": {
+        "atob": "^2.1.2",
+        "decode-uri-component": "^0.2.0",
+        "resolve-url": "^0.2.1",
+        "source-map-url": "^0.4.0",
+        "urix": "^0.1.0"
+      }
+    },
+    "node_modules/source-map-support": {
+      "version": "0.5.16",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
+      "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
+      "dev": true,
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
+    },
+    "node_modules/source-map-url": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+      "deprecated": "See https://github.com/lydell/source-map-url#deprecated",
+      "dev": true
+    },
+    "node_modules/spawn-wrap": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-2.0.0.tgz",
+      "integrity": "sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==",
+      "dev": true,
+      "dependencies": {
+        "foreground-child": "^2.0.0",
+        "is-windows": "^1.0.2",
+        "make-dir": "^3.0.0",
+        "rimraf": "^3.0.0",
+        "signal-exit": "^3.0.2",
+        "which": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/spawn-wrap/node_modules/which": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "node-which": "bin/node-which"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/spdx-correct": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
+      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+      "dev": true,
+      "dependencies": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-exceptions": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
+      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+      "dev": true
+    },
+    "node_modules/spdx-expression-parse": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
+      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+      "dev": true,
+      "dependencies": {
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
+      }
+    },
+    "node_modules/spdx-license-ids": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
+      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+      "dev": true
+    },
+    "node_modules/split-string": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+      "dev": true,
+      "dependencies": {
+        "extend-shallow": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+      "dev": true
+    },
+    "node_modules/sshpk": {
+      "version": "1.16.1",
+      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+      "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+      "dev": true,
+      "dependencies": {
+        "asn1": "~0.2.3",
+        "assert-plus": "^1.0.0",
+        "bcrypt-pbkdf": "^1.0.0",
+        "dashdash": "^1.12.0",
+        "ecc-jsbn": "~0.1.1",
+        "getpass": "^0.1.1",
+        "jsbn": "~0.1.0",
+        "safer-buffer": "^2.0.2",
+        "tweetnacl": "~0.14.0"
+      },
+      "bin": {
+        "sshpk-conv": "bin/sshpk-conv",
+        "sshpk-sign": "bin/sshpk-sign",
+        "sshpk-verify": "bin/sshpk-verify"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/stable": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
+      "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
+      "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility",
+      "dev": true
+    },
+    "node_modules/stack-utils": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.1.tgz",
+      "integrity": "sha512-BvBTnHGm8boe+HiJFqP19ywEsGlfQAKqW78pbfvUuzCbUuxPPUyLrH5dYFY+Xn9IpLY3b5ZmMcl8jAqXB4wddg==",
+      "dev": true,
+      "dependencies": {
+        "escape-string-regexp": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
+    "node_modules/stack-utils/node_modules/escape-string-regexp": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+      "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/static-eval": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.3.tgz",
+      "integrity": "sha512-zsxDGucfAh8T339sSKgpFbvg15Fms2IVaJGC+jqp0bVsxhcpM+iMeAI8weNo8dmf4OblgifTBUoyk1vGVtYw2w==",
+      "dev": true,
+      "dependencies": {
+        "escodegen": "^1.11.1"
+      }
+    },
+    "node_modules/static-eval/node_modules/escodegen": {
+      "version": "1.13.0",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.13.0.tgz",
+      "integrity": "sha512-eYk2dCkxR07DsHA/X2hRBj0CFAZeri/LyDMc0C8JT1Hqi6JnVpMhJ7XFITbb0+yZS3lVkaPL2oCkZ3AVmeVbMw==",
+      "dev": true,
+      "dependencies": {
+        "esprima": "^4.0.1",
+        "estraverse": "^4.2.0",
+        "esutils": "^2.0.2",
+        "optionator": "^0.8.1"
+      },
+      "bin": {
+        "escodegen": "bin/escodegen.js",
+        "esgenerate": "bin/esgenerate.js"
+      },
+      "engines": {
+        "node": ">=4.0"
+      },
+      "optionalDependencies": {
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/static-extend": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+      "dev": true,
+      "dependencies": {
+        "define-property": "^0.2.5",
+        "object-copy": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/static-extend/node_modules/define-property": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+      "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+      "dev": true,
+      "dependencies": {
+        "is-descriptor": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/static-module": {
+      "version": "2.2.5",
+      "resolved": "https://registry.npmjs.org/static-module/-/static-module-2.2.5.tgz",
+      "integrity": "sha512-D8vv82E/Kpmz3TXHKG8PPsCPg+RAX6cbCOyvjM6x04qZtQ47EtJFVwRsdov3n5d6/6ynrOY9XB4JkaZwB2xoRQ==",
+      "dev": true,
+      "dependencies": {
+        "concat-stream": "~1.6.0",
+        "convert-source-map": "^1.5.1",
+        "duplexer2": "~0.1.4",
+        "escodegen": "~1.9.0",
+        "falafel": "^2.1.0",
+        "has": "^1.0.1",
+        "magic-string": "^0.22.4",
+        "merge-source-map": "1.0.4",
+        "object-inspect": "~1.4.0",
+        "quote-stream": "~1.0.2",
+        "readable-stream": "~2.3.3",
+        "shallow-copy": "~0.0.1",
+        "static-eval": "^2.0.0",
+        "through2": "~2.0.3"
+      }
+    },
+    "node_modules/static-module/node_modules/merge-source-map": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
+      "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=",
+      "dev": true,
+      "dependencies": {
+        "source-map": "^0.5.6"
+      }
+    },
+    "node_modules/static-module/node_modules/object-inspect": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.4.1.tgz",
+      "integrity": "sha512-wqdhLpfCUbEsoEwl3FXwGyv8ief1k/1aUdIPCqVnupM6e8l63BEJdiF/0swtn04/8p05tG/T0FrpTlfwvljOdw==",
+      "dev": true
+    },
+    "node_modules/static-module/node_modules/source-map": {
+      "version": "0.5.7",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/statuses": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+      "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/stealthy-require": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz",
+      "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/stream-browserify": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
+      "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "~2.0.1",
+        "readable-stream": "^2.0.2"
+      }
+    },
+    "node_modules/stream-http": {
+      "version": "2.8.3",
+      "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
+      "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+      "dev": true,
+      "dependencies": {
+        "builtin-status-codes": "^3.0.0",
+        "inherits": "^2.0.1",
+        "readable-stream": "^2.3.6",
+        "to-arraybuffer": "^1.0.0",
+        "xtend": "^4.0.0"
+      }
+    },
+    "node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
+    "node_modules/string-width": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+      "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string-width/node_modules/strip-ansi": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/string.prototype.trimleft": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
+      "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3",
+        "function-bind": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/string.prototype.trimright": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
+      "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3",
+        "function-bind": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/strip-ansi": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+      "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^4.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/strip-ansi/node_modules/ansi-regex": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+      "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/strip-bom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/strip-json-comments": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/stylehacks": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
+      "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==",
+      "dev": true,
+      "dependencies": {
+        "browserslist": "^4.0.0",
+        "postcss": "^7.0.0",
+        "postcss-selector-parser": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/stylehacks/node_modules/dot-prop": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
+      "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
+      "dev": true,
+      "dependencies": {
+        "is-obj": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/stylehacks/node_modules/is-obj": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/stylehacks/node_modules/postcss-selector-parser": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.1.tgz",
+      "integrity": "sha1-T4dfSvsMllc9XPTXQBGu4lCn6GU=",
+      "dev": true,
+      "dependencies": {
+        "dot-prop": "^4.1.1",
+        "indexes-of": "^1.0.1",
+        "uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/supertap": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supertap/-/supertap-1.0.0.tgz",
+      "integrity": "sha512-HZJ3geIMPgVwKk2VsmO5YHqnnJYl6bV5A9JW2uzqV43WmpgliNEYbuvukfor7URpaqpxuw3CfZ3ONdVbZjCgIA==",
+      "dev": true,
+      "dependencies": {
+        "arrify": "^1.0.1",
+        "indent-string": "^3.2.0",
+        "js-yaml": "^3.10.0",
+        "serialize-error": "^2.1.0",
+        "strip-ansi": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/supertap/node_modules/ansi-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+      "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/supertap/node_modules/arrify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+      "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/supertap/node_modules/indent-string": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+      "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/supertap/node_modules/strip-ansi": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+      "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/supports-color": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+      "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+      "dev": true,
+      "dependencies": {
+        "has-flag": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/supports-color/node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/svgo": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz",
+      "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==",
+      "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.",
+      "dev": true,
+      "dependencies": {
+        "chalk": "^2.4.1",
+        "coa": "^2.0.2",
+        "css-select": "^2.0.0",
+        "css-select-base-adapter": "^0.1.1",
+        "css-tree": "1.0.0-alpha.37",
+        "csso": "^4.0.2",
+        "js-yaml": "^3.13.1",
+        "mkdirp": "~0.5.1",
+        "object.values": "^1.1.0",
+        "sax": "~1.2.4",
+        "stable": "^0.1.8",
+        "unquote": "~1.1.1",
+        "util.promisify": "~1.0.0"
+      },
+      "bin": {
+        "svgo": "bin/svgo"
+      },
+      "engines": {
+        "node": ">=4.0.0"
+      }
+    },
+    "node_modules/symbol-tree": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+      "dev": true
+    },
+    "node_modules/temp-dir": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
+      "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/term-size": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.0.tgz",
+      "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/terser": {
+      "version": "3.17.0",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
+      "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
+      "dev": true,
+      "dependencies": {
+        "commander": "^2.19.0",
+        "source-map": "~0.6.1",
+        "source-map-support": "~0.5.10"
+      },
+      "bin": {
+        "terser": "bin/uglifyjs"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      }
+    },
+    "node_modules/test-exclude": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+      "dev": true,
+      "dependencies": {
+        "@istanbuljs/schema": "^0.1.2",
+        "glob": "^7.1.4",
+        "minimatch": "^3.0.4"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/through2": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+      "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+      "dev": true,
+      "dependencies": {
+        "readable-stream": "~2.3.6",
+        "xtend": "~4.0.1"
+      }
+    },
+    "node_modules/time-zone": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/time-zone/-/time-zone-1.0.0.tgz",
+      "integrity": "sha1-mcW/VZWJZq9tBtg73zgA3IL67F0=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/timers-browserify": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz",
+      "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==",
+      "dev": true,
+      "dependencies": {
+        "setimmediate": "^1.0.4"
+      },
+      "engines": {
+        "node": ">=0.6.0"
+      }
+    },
+    "node_modules/timsort": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
+      "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=",
+      "dev": true
+    },
+    "node_modules/tiny-inflate": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz",
+      "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==",
+      "dev": true
+    },
+    "node_modules/to-arraybuffer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
+      "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
+      "dev": true
+    },
+    "node_modules/to-fast-properties": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/to-object-path": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+      "dev": true,
+      "dependencies": {
+        "kind-of": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/to-object-path/node_modules/kind-of": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+      "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+      "dev": true,
+      "dependencies": {
+        "is-buffer": "^1.1.5"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/to-readable-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
+      "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/to-regex": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+      "dev": true,
+      "dependencies": {
+        "define-property": "^2.0.2",
+        "extend-shallow": "^3.0.2",
+        "regex-not": "^1.0.2",
+        "safe-regex": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+      "dev": true,
+      "dependencies": {
+        "is-number": "^7.0.0"
+      },
+      "engines": {
+        "node": ">=8.0"
+      }
+    },
+    "node_modules/toidentifier": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
+      "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.6"
+      }
+    },
+    "node_modules/tough-cookie": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
+      "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
+      "dev": true,
+      "dependencies": {
+        "psl": "^1.1.28",
+        "punycode": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=0.8"
+      }
+    },
+    "node_modules/tr46": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+      "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=",
+      "dev": true,
+      "dependencies": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "node_modules/trim-off-newlines": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz",
+      "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/ts-node": {
+      "version": "8.7.0",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.7.0.tgz",
+      "integrity": "sha512-s659CsHrsxaRVDEleuOkGvbsA0rWHtszUNEt1r0CgAFN5ZZTQtDzpsluS7W5pOGJIa1xZE8R/zK4dEs+ldFezg==",
+      "dev": true,
+      "dependencies": {
+        "arg": "^4.1.0",
+        "diff": "^4.0.1",
+        "make-error": "^1.1.1",
+        "source-map-support": "^0.5.6",
+        "yn": "3.1.1"
+      },
+      "bin": {
+        "ts-node": "dist/bin.js",
+        "ts-node-script": "dist/bin-script.js",
+        "ts-node-transpile-only": "dist/bin-transpile.js",
+        "ts-script": "dist/bin-script-deprecated.js"
+      },
+      "engines": {
+        "node": ">=6.0.0"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.7"
+      }
+    },
+    "node_modules/tsconfig-paths": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz",
+      "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==",
+      "dev": true,
+      "dependencies": {
+        "@types/json5": "^0.0.29",
+        "json5": "^1.0.1",
+        "minimist": "^1.2.0",
+        "strip-bom": "^3.0.0"
+      }
+    },
+    "node_modules/tsconfig-paths/node_modules/json5": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+      "dev": true,
+      "dependencies": {
+        "minimist": "^1.2.0"
+      },
+      "bin": {
+        "json5": "lib/cli.js"
+      }
+    },
+    "node_modules/tty-browserify": {
+      "version": "0.0.0",
+      "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
+      "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=",
+      "dev": true
+    },
+    "node_modules/tunnel-agent": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
+      "dependencies": {
+        "safe-buffer": "^5.0.1"
+      },
+      "engines": {
+        "node": "*"
+      }
+    },
+    "node_modules/tweetnacl": {
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true
+    },
+    "node_modules/type-check": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+      "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+      "dev": true,
+      "dependencies": {
+        "prelude-ls": "~1.1.2"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
+      }
+    },
+    "node_modules/type-fest": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz",
+      "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/typedarray": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+      "dev": true
+    },
+    "node_modules/typedarray-to-buffer": {
+      "version": "3.1.5",
+      "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+      "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+      "dev": true,
+      "dependencies": {
+        "is-typedarray": "^1.0.0"
+      }
+    },
+    "node_modules/typedoc": {
+      "version": "0.17.1",
+      "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.17.1.tgz",
+      "integrity": "sha512-1AckBdQNvBm0jgR7eko9t3FMPfjoxiKEpQx8ePCsyfTQDPwLVpFIFzn5pXA+smDGTWf2BT7FQrKU6BDzSdgMng==",
+      "dev": true,
+      "dependencies": {
+        "fs-extra": "^8.1.0",
+        "handlebars": "^4.7.3",
+        "highlight.js": "^9.18.1",
+        "lodash": "^4.17.15",
+        "marked": "^0.8.0",
+        "minimatch": "^3.0.0",
+        "progress": "^2.0.3",
+        "shelljs": "^0.8.3",
+        "typedoc-default-themes": "^0.8.0"
+      },
+      "bin": {
+        "typedoc": "bin/typedoc"
+      },
+      "engines": {
+        "node": ">= 8.0.0"
+      },
+      "peerDependencies": {
+        "typescript": ">=3.8.3"
+      }
+    },
+    "node_modules/typedoc-default-themes": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.8.0.tgz",
+      "integrity": "sha512-0bzAjVEX6ClhE3jLRdU7vR8Fsfbt4ZcPa+gkqyAVgTlQ1fLo/7AkCbTP+hC5XAiByDfRfsAGqj9y6FNjJh0p4A==",
+      "dev": true,
+      "dependencies": {
+        "backbone": "^1.4.0",
+        "jquery": "^3.4.1",
+        "lunr": "^2.3.8",
+        "underscore": "^1.9.2"
+      },
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/typescript": {
+      "version": "3.8.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz",
+      "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==",
+      "dev": true,
+      "bin": {
+        "tsc": "bin/tsc",
+        "tsserver": "bin/tsserver"
+      },
+      "engines": {
+        "node": ">=4.2.0"
+      }
+    },
+    "node_modules/uglify-js": {
+      "version": "3.8.0",
+      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.8.0.tgz",
+      "integrity": "sha512-ugNSTT8ierCsDHso2jkBHXYrU8Y5/fY2ZUprfrJUiD7YpuFvV4jODLFmb3h4btQjqr5Nh4TX4XtgDfCU1WdioQ==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "commander": "~2.20.3",
+        "source-map": "~0.6.1"
+      },
+      "bin": {
+        "uglifyjs": "bin/uglifyjs"
+      },
+      "engines": {
+        "node": ">=0.8.0"
+      }
+    },
+    "node_modules/uncss": {
+      "version": "0.17.2",
+      "resolved": "https://registry.npmjs.org/uncss/-/uncss-0.17.2.tgz",
+      "integrity": "sha512-hu2HquwDItuGDem4YsJROdAD8SknmWtM24zwhQax6J1se8tPjV1cnwPKhtjodzBaUhaL8Zb3hlGdZ2WAUpbAOg==",
+      "dev": true,
+      "dependencies": {
+        "commander": "^2.20.0",
+        "glob": "^7.1.4",
+        "is-absolute-url": "^3.0.1",
+        "is-html": "^1.1.0",
+        "jsdom": "^14.1.0",
+        "lodash": "^4.17.15",
+        "postcss": "^7.0.17",
+        "postcss-selector-parser": "6.0.2",
+        "request": "^2.88.0"
+      },
+      "bin": {
+        "uncss": "bin/uncss"
+      },
+      "engines": {
+        "node": ">=6.0"
+      }
+    },
+    "node_modules/uncss/node_modules/cssesc": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+      "dev": true,
+      "bin": {
+        "cssesc": "bin/cssesc"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/uncss/node_modules/is-absolute-url": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz",
+      "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/uncss/node_modules/postcss-selector-parser": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz",
+      "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==",
+      "dev": true,
+      "dependencies": {
+        "cssesc": "^3.0.0",
+        "indexes-of": "^1.0.1",
+        "uniq": "^1.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/underscore": {
+      "version": "1.9.2",
+      "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.2.tgz",
+      "integrity": "sha512-D39qtimx0c1fI3ya1Lnhk3E9nONswSKhnffBI0gME9C99fYOkNi04xs8K6pePLhvl1frbDemkaBQ5ikWllR2HQ==",
+      "dev": true
+    },
+    "node_modules/unicode-canonical-property-names-ecmascript": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
+      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-match-property-ecmascript": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
+      "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+      "dev": true,
+      "dependencies": {
+        "unicode-canonical-property-names-ecmascript": "^1.0.4",
+        "unicode-property-aliases-ecmascript": "^1.0.4"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-match-property-value-ecmascript": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
+      "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-property-aliases-ecmascript": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
+      "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/unicode-trie": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-0.3.1.tgz",
+      "integrity": "sha1-1nHd3YkQGgi6w3tqUWEBBgIFIIU=",
+      "dev": true,
+      "dependencies": {
+        "pako": "^0.2.5",
+        "tiny-inflate": "^1.0.0"
+      }
+    },
+    "node_modules/union-value": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
+      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+      "dev": true,
+      "dependencies": {
+        "arr-union": "^3.1.0",
+        "get-value": "^2.0.6",
+        "is-extendable": "^0.1.1",
+        "set-value": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/uniq": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz",
+      "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=",
+      "dev": true
+    },
+    "node_modules/uniqs": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz",
+      "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=",
+      "dev": true
+    },
+    "node_modules/unique-string": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+      "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+      "dev": true,
+      "dependencies": {
+        "crypto-random-string": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/universalify": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
+    "node_modules/unquote": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz",
+      "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=",
+      "dev": true
+    },
+    "node_modules/unset-value": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+      "dev": true,
+      "dependencies": {
+        "has-value": "^0.3.1",
+        "isobject": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/unset-value/node_modules/has-value": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+      "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+      "dev": true,
+      "dependencies": {
+        "get-value": "^2.0.3",
+        "has-values": "^0.1.4",
+        "isobject": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/unset-value/node_modules/has-value/node_modules/isobject": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+      "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+      "dev": true,
+      "dependencies": {
+        "isarray": "1.0.0"
+      },
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/unset-value/node_modules/has-values": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+      "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/unset-value/node_modules/isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/upath": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+      "dev": true,
+      "engines": {
+        "node": ">=4",
+        "yarn": "*"
+      }
+    },
+    "node_modules/update-notifier": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.0.tgz",
+      "integrity": "sha512-w3doE1qtI0/ZmgeoDoARmI5fjDoT93IfKgEGqm26dGUOh8oNpaSTsGNdYRN/SjOuo10jcJGwkEL3mroKzktkew==",
+      "dev": true,
+      "dependencies": {
+        "boxen": "^4.2.0",
+        "chalk": "^3.0.0",
+        "configstore": "^5.0.1",
+        "has-yarn": "^2.1.0",
+        "import-lazy": "^2.1.0",
+        "is-ci": "^2.0.0",
+        "is-installed-globally": "^0.3.1",
+        "is-npm": "^4.0.0",
+        "is-yarn-global": "^0.3.0",
+        "latest-version": "^5.0.0",
+        "pupa": "^2.0.1",
+        "semver-diff": "^3.1.1",
+        "xdg-basedir": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/yeoman/update-notifier?sponsor=1"
+      }
+    },
+    "node_modules/update-notifier/node_modules/chalk": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+      "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/uri-js": {
+      "version": "4.2.2",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
+      "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+      "dev": true,
+      "dependencies": {
+        "punycode": "^2.1.0"
+      }
+    },
+    "node_modules/urix": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+      "deprecated": "Please see https://github.com/lydell/urix#deprecated",
+      "dev": true
+    },
+    "node_modules/url": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+      "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+      "dev": true,
+      "dependencies": {
+        "punycode": "1.3.2",
+        "querystring": "0.2.0"
+      }
+    },
+    "node_modules/url-parse-lax": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+      "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+      "dev": true,
+      "dependencies": {
+        "prepend-http": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/url/node_modules/punycode": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+      "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+      "dev": true
+    },
+    "node_modules/use": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/util": {
+      "version": "0.11.1",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+      "dev": true,
+      "dependencies": {
+        "inherits": "2.0.3"
+      }
+    },
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
+    },
+    "node_modules/util.promisify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz",
+      "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3",
+        "es-abstract": "^1.17.2",
+        "has-symbols": "^1.0.1",
+        "object.getownpropertydescriptors": "^2.1.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/util.promisify/node_modules/es-abstract": {
+      "version": "1.17.4",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
+      "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
+      "dev": true,
+      "dependencies": {
+        "es-to-primitive": "^1.2.1",
+        "function-bind": "^1.1.1",
+        "has": "^1.0.3",
+        "has-symbols": "^1.0.1",
+        "is-callable": "^1.1.5",
+        "is-regex": "^1.0.5",
+        "object-inspect": "^1.7.0",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.0",
+        "string.prototype.trimleft": "^2.1.1",
+        "string.prototype.trimright": "^2.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/util.promisify/node_modules/is-callable": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
+      "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/util.promisify/node_modules/string.prototype.trimleft": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
+      "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3",
+        "function-bind": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/util.promisify/node_modules/string.prototype.trimright": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
+      "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
+      "dev": true,
+      "dependencies": {
+        "define-properties": "^1.1.3",
+        "function-bind": "^1.1.1"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/util/node_modules/inherits": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+      "dev": true
+    },
+    "node_modules/uuid": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
+      "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
+      "deprecated": "Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.",
+      "dev": true,
+      "bin": {
+        "uuid": "bin/uuid"
+      }
+    },
+    "node_modules/v8-compile-cache": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
+      "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
+      "dev": true
+    },
+    "node_modules/validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+      "dev": true,
+      "dependencies": {
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
+      }
+    },
+    "node_modules/vendors": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
+      "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==",
+      "dev": true,
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
+    },
+    "node_modules/verror": {
+      "version": "1.10.0",
+      "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+      "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "dev": true,
+      "engines": [
+        "node >=0.6.0"
+      ],
+      "dependencies": {
+        "assert-plus": "^1.0.0",
+        "core-util-is": "1.0.2",
+        "extsprintf": "^1.2.0"
+      }
+    },
+    "node_modules/vlq": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+      "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
+      "dev": true
+    },
+    "node_modules/vm-browserify": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
+      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+      "dev": true
+    },
+    "node_modules/w3c-hr-time": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz",
+      "integrity": "sha1-gqwr/2PZUOqeMYmlimViX+3xkEU=",
+      "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.",
+      "dev": true,
+      "dependencies": {
+        "browser-process-hrtime": "^0.1.2"
+      }
+    },
+    "node_modules/w3c-xmlserializer": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz",
+      "integrity": "sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg==",
+      "dev": true,
+      "dependencies": {
+        "domexception": "^1.0.1",
+        "webidl-conversions": "^4.0.2",
+        "xml-name-validator": "^3.0.0"
+      }
+    },
+    "node_modules/wcwidth": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
+      "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+      "dev": true,
+      "dependencies": {
+        "defaults": "^1.0.3"
+      }
+    },
+    "node_modules/webidl-conversions": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+      "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+      "dev": true
+    },
+    "node_modules/well-known-symbols": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-2.0.0.tgz",
+      "integrity": "sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/whatwg-encoding": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+      "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+      "dev": true,
+      "dependencies": {
+        "iconv-lite": "0.4.24"
+      }
+    },
+    "node_modules/whatwg-mimetype": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+      "dev": true
+    },
+    "node_modules/whatwg-url": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+      "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+      "dev": true,
+      "dependencies": {
+        "lodash.sortby": "^4.7.0",
+        "tr46": "^1.0.1",
+        "webidl-conversions": "^4.0.2"
+      }
+    },
+    "node_modules/which": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
+      "dependencies": {
+        "isexe": "^2.0.0"
+      },
+      "bin": {
+        "which": "bin/which"
+      }
+    },
+    "node_modules/which-module": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
+      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+      "dev": true
+    },
+    "node_modules/widest-line": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+      "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/word-wrap": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+      "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/wordwrap": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+      "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4.0"
+      }
+    },
+    "node_modules/wrap-ansi": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+      "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^3.2.0",
+        "string-width": "^3.0.0",
+        "strip-ansi": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+      "version": "3.2.1",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
+      "dependencies": {
+        "color-convert": "^1.9.0"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/emoji-regex": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+      "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+      "dev": true
+    },
+    "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
+      "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+      "dev": true,
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/wrap-ansi/node_modules/string-width": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+      "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+      "dev": true,
+      "dependencies": {
+        "emoji-regex": "^7.0.1",
+        "is-fullwidth-code-point": "^2.0.0",
+        "strip-ansi": "^5.1.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/wrappy": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+      "dev": true
+    },
+    "node_modules/write-file-atomic": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.1.tgz",
+      "integrity": "sha512-JPStrIyyVJ6oCSz/691fAjFtefZ6q+fP6tm+OS4Qw6o+TGQxNp1ziY2PgS+X/m0V8OWhZiO/m4xSj+Pr4RrZvw==",
+      "dev": true,
+      "dependencies": {
+        "imurmurhash": "^0.1.4",
+        "is-typedarray": "^1.0.0",
+        "signal-exit": "^3.0.2",
+        "typedarray-to-buffer": "^3.1.5"
+      }
+    },
+    "node_modules/ws": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-5.2.2.tgz",
+      "integrity": "sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA==",
+      "dev": true,
+      "dependencies": {
+        "async-limiter": "~1.0.0"
+      }
+    },
+    "node_modules/xdg-basedir": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
+      "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/xml-name-validator": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+      "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+      "dev": true
+    },
+    "node_modules/xmlchars": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+      "dev": true
+    },
+    "node_modules/xtend": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=0.4"
+      }
+    },
+    "node_modules/y18n": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
+      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+      "dev": true
+    },
+    "node_modules/yargs": {
+      "version": "15.1.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.1.0.tgz",
+      "integrity": "sha512-T39FNN1b6hCW4SOIk1XyTOWxtXdcen0t+XYrysQmChzSipvhBO8Bj0nK1ozAasdk24dNWuMZvr4k24nz+8HHLg==",
+      "dev": true,
+      "dependencies": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^16.1.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs-parser": {
+      "version": "16.1.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-16.1.0.tgz",
+      "integrity": "sha512-H/V41UNZQPkUMIT5h5hiwg4QKIY1RPvoBV4XcjUbRM8Bk2oKqqyZ0DIEbTFZB0XjbtSPG8SAa/0DxCQmiRgzKg==",
+      "dev": true,
+      "dependencies": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      }
+    },
+    "node_modules/yargs/node_modules/cliui": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "dev": true,
+      "dependencies": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
+      }
+    },
+    "node_modules/yargs/node_modules/strip-ansi": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+      "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+      "dev": true,
+      "dependencies": {
+        "ansi-regex": "^5.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yargs/node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "dev": true,
+      "dependencies": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/yn": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+      "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    }
+  },
   "dependencies": {
     "@babel/code-frame": {
       "version": "7.5.5",
@@ -3373,6 +17737,15 @@
               "dev": true,
               "optional": true
             },
+            "string_decoder": {
+              "version": "1.1.1",
+              "bundled": true,
+              "dev": true,
+              "optional": true,
+              "requires": {
+                "safe-buffer": "~5.1.0"
+              }
+            },
             "string-width": {
               "version": "1.0.2",
               "bundled": true,
@@ -3384,15 +17757,6 @@
                 "strip-ansi": "^3.0.0"
               }
             },
-            "string_decoder": {
-              "version": "1.1.1",
-              "bundled": true,
-              "dev": true,
-              "optional": true,
-              "requires": {
-                "safe-buffer": "~5.1.0"
-              }
-            },
             "strip-ansi": {
               "version": "3.0.1",
               "bundled": true,
@@ -10859,6 +25223,15 @@
         "xtend": "^4.0.0"
       }
     },
+    "string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
+      "requires": {
+        "safe-buffer": "~5.1.0"
+      }
+    },
     "string-width": {
       "version": "4.2.0",
       "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -10901,15 +25274,6 @@
         "function-bind": "^1.1.1"
       }
     },
-    "string_decoder": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
-      "requires": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
     "strip-ansi": {
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",

--
Gitblit v1.10.0-SNAPSHOT