aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Server.hs35
-rw-r--r--javascript/.ember-cli9
-rw-r--r--javascript/.eslintrc.js15
-rw-r--r--javascript/.gitignore15
-rw-r--r--javascript/.watchmanconfig3
-rw-r--r--javascript/README.md26
-rw-r--r--javascript/app/app.js15
-rw-r--r--javascript/app/components/.gitkeep0
-rw-r--r--javascript/app/components/bottom-panel.js52
-rw-r--r--javascript/app/components/expression-info.js3
-rw-r--r--javascript/app/components/file-tree.js118
-rw-r--r--javascript/app/components/haskell-module.js520
-rw-r--r--javascript/app/components/identifier-info.js73
-rw-r--r--javascript/app/components/identifier-name.js61
-rw-r--r--javascript/app/components/infinite-list.js50
-rw-r--r--javascript/app/components/info-window.js144
-rw-r--r--javascript/app/components/input-with-autocomplete.js136
-rw-r--r--javascript/app/components/instance-info.js21
-rw-r--r--javascript/app/components/paginated-list.js48
-rw-r--r--javascript/app/components/resizable-panel.js76
-rw-r--r--javascript/app/components/text-file.js67
-rw-r--r--javascript/app/components/type-component.js29
-rw-r--r--javascript/app/components/type-signature-text.js4
-rw-r--r--javascript/app/components/type-signature.js23
-rw-r--r--javascript/app/controllers/application.js21
-rw-r--r--javascript/app/controllers/package.js39
-rw-r--r--javascript/app/controllers/package/index.js14
-rw-r--r--javascript/app/controllers/package/search.js15
-rw-r--r--javascript/app/controllers/package/show/file.js9
-rw-r--r--javascript/app/controllers/packages.js30
-rw-r--r--javascript/app/controllers/search.js28
-rw-r--r--javascript/app/helpers/.gitkeep0
-rw-r--r--javascript/app/index.html22
-rw-r--r--javascript/app/router.js21
-rw-r--r--javascript/app/routes/application.js3
-rw-r--r--javascript/app/routes/package.js49
-rw-r--r--javascript/app/routes/package/index.js7
-rw-r--r--javascript/app/routes/package/search.js36
-rw-r--r--javascript/app/routes/package/show/file.js27
-rw-r--r--javascript/app/routes/package/show/index.js7
-rw-r--r--javascript/app/routes/packages.js19
-rw-r--r--javascript/app/routes/search.js42
-rw-r--r--javascript/app/services/settings.js21
-rw-r--r--javascript/app/services/store.js168
-rw-r--r--javascript/app/styles/app.scss589
-rw-r--r--javascript/app/templates/application.hbs26
-rw-r--r--javascript/app/templates/bad-url.hbs6
-rw-r--r--javascript/app/templates/components/.gitkeep0
-rw-r--r--javascript/app/templates/components/bottom-panel.hbs9
-rw-r--r--javascript/app/templates/components/expression-info.hbs8
-rw-r--r--javascript/app/templates/components/file-tree.hbs20
-rw-r--r--javascript/app/templates/components/haskell-module.hbs57
-rw-r--r--javascript/app/templates/components/identifier-info.hbs39
-rw-r--r--javascript/app/templates/components/identifier-name.hbs12
-rw-r--r--javascript/app/templates/components/infinite-list.hbs3
-rw-r--r--javascript/app/templates/components/info-window.hbs12
-rw-r--r--javascript/app/templates/components/input-with-autocomplete.hbs19
-rw-r--r--javascript/app/templates/components/instance-info.hbs10
-rw-r--r--javascript/app/templates/components/paginated-list.hbs17
-rw-r--r--javascript/app/templates/components/resizable-panel.hbs5
-rw-r--r--javascript/app/templates/components/text-file.hbs3
-rw-r--r--javascript/app/templates/components/type-component.hbs3
-rw-r--r--javascript/app/templates/components/type-signature-text.hbs2
-rw-r--r--javascript/app/templates/components/type-signature.hbs10
-rw-r--r--javascript/app/templates/package.hbs87
-rw-r--r--javascript/app/templates/package/index.hbs12
-rw-r--r--javascript/app/templates/package/search.hbs21
-rw-r--r--javascript/app/templates/package/show.hbs1
-rw-r--r--javascript/app/templates/package/show/file.hbs16
-rw-r--r--javascript/app/templates/packages.hbs46
-rw-r--r--javascript/app/templates/search.hbs48
-rw-r--r--javascript/app/utils/api-urls.js53
-rw-r--r--javascript/app/utils/color-themes.js191
-rw-r--r--javascript/app/utils/go-to-definition.js89
-rw-r--r--javascript/app/utils/language-extensions.js513
-rw-r--r--javascript/app/utils/line-selection.js111
-rw-r--r--javascript/bower.json6
-rw-r--r--javascript/config/environment.js64
-rw-r--r--javascript/config/targets.js9
-rw-r--r--javascript/ember-cli-build.js21
-rw-r--r--javascript/package.json53
-rw-r--r--javascript/public/assets/32px.pngbin1562 -> 0 bytes
-rw-r--r--javascript/public/assets/40px.pngbin5717 -> 0 bytes
-rw-r--r--javascript/public/assets/favicon.icobin1270 -> 0 bytes
-rw-r--r--javascript/public/assets/haskell.icobin1270 -> 0 bytes
-rw-r--r--javascript/public/assets/throbber.gifbin1720 -> 0 bytes
-rw-r--r--javascript/public/robots.txt3
-rw-r--r--javascript/release/assets/32px-eebaf260766f5e0e773f53d3ea4f3e4d.pngbin1562 -> 0 bytes
-rw-r--r--javascript/release/assets/40px-51286e68b083696edaf4f9fc577e2a2d.pngbin5717 -> 0 bytes
-rw-r--r--javascript/release/assets/favicon.icobin1270 -> 0 bytes
-rw-r--r--javascript/release/assets/haskell-code-explorer-3325784c864ca6662b97be678eeea861.js224
-rw-r--r--javascript/release/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css6
-rw-r--r--javascript/release/assets/haskell.icobin1270 -> 0 bytes
-rw-r--r--javascript/release/assets/throbber-62be6ed2b189444b472b8000dc187240.gifbin1720 -> 0 bytes
-rw-r--r--javascript/release/assets/vendor-b97a1e7d03d00bb4514dc45da44b51ff.js5059
-rw-r--r--javascript/release/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css3
-rw-r--r--javascript/release/index.html25
-rw-r--r--javascript/release/robots.txt3
-rw-r--r--javascript/server/.eslintrc.js5
-rw-r--r--javascript/server/index.js30
-rw-r--r--javascript/server/mocks/packages.js397
-rw-r--r--javascript/testem.js24
-rw-r--r--javascript/tests/.eslintrc.js5
-rw-r--r--javascript/tests/acceptance/haskell-module-test.js28
-rw-r--r--javascript/tests/acceptance/package-test.js23
-rw-r--r--javascript/tests/acceptance/packages-test.js16
-rw-r--r--javascript/tests/helpers/.gitkeep0
-rw-r--r--javascript/tests/index.html33
-rw-r--r--javascript/tests/integration/.gitkeep0
-rw-r--r--javascript/tests/integration/components/.gitkeep0
-rw-r--r--javascript/tests/test-helper.js8
-rw-r--r--javascript/vendor/.gitkeep0
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/AUTHORS.txt333
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/LICENSE.txt43
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/external/jquery/jquery.js11008
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_444444_256x240.pngbin6992 -> 0 bytes
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_555555_256x240.pngbin6988 -> 0 bytes
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_777620_256x240.pngbin4549 -> 0 bytes
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_777777_256x240.pngbin6999 -> 0 bytes
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_cc0000_256x240.pngbin4549 -> 0 bytes
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_ffffff_256x240.pngbin6299 -> 0 bytes
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/index.html325
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.css596
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.js3553
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.min.css7
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.min.js7
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.css170
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.min.css5
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.theme.css443
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.theme.min.css5
-rw-r--r--javascript/vendor/jquery-ui-1.12.1.custom/package.json74
131 files changed, 4 insertions, 26769 deletions
diff --git a/app/Server.hs b/app/Server.hs
index 557459f..628bf19 100644
--- a/app/Server.hs
+++ b/app/Server.hs
@@ -158,7 +158,6 @@ import System.Log.FastLogger
)
import Text.Blaze.Html.Renderer.Text (renderHtml)
import qualified Text.Blaze.Html5 as Html hiding (html, source)
-import Data.FileEmbed (embedDir, embedFile)
import Data.Bifunctor (second)
import qualified Store
@@ -174,7 +173,6 @@ data ServerConfig = ServerConfig
, configIndexDirectoryName :: !(Maybe FilePath)
, configLog :: !HCE.Log
, configStaticFilesUrlPrefix :: !String
- , configJsDistDirectory :: !(Maybe String)
, configMaxPerPage :: !Int
, configStore :: !(Maybe Store)
, configUseHoogleApi :: !Bool
@@ -231,10 +229,6 @@ configParser =
strOption
(long "static-url-prefix" <> metavar "STRING" <>
help "URL prefix for static files (default is 'files')")) <*>
- optional
- (strOption
- (long "js-path" <> help "Path to a directory with javascript files (by default, the server uses javascript files that are embedded in the executable)" <>
- metavar "PATH")) <*>
(pure 50 <|>
option
auto
@@ -1701,8 +1695,8 @@ parsePackageId (PackageId text) =
Left _ -> Just (PackageName text, Nothing)
_ -> Nothing
-staticMiddleware :: String -> PackagePathMap -> Maybe FilePath -> Middleware
-staticMiddleware staticFilesPrefix packagePathMap _ app req callback
+staticMiddleware :: String -> PackagePathMap -> Middleware
+staticMiddleware staticFilesPrefix packagePathMap app req callback
| ("api":_) <- pathInfo req = app req callback
| (prefix:packageId:rest) <- pathInfo req
, prefix == T.pack staticFilesPrefix =
@@ -1737,27 +1731,7 @@ staticMiddleware staticFilesPrefix packagePathMap _ app req callback
then callback $ sendFile path
else callback fileNotFound
_ -> callback fileNotFound
-staticMiddleware _ _ mbJsDistPath _app req callback =
- case mbJsDistPath of
- Just jsDistPath -> do
- let path = jsDistPath </> T.unpack (T.intercalate "/" $ pathInfo req)
- exists <- doesFileExist path
- if exists
- then callback $ sendFile path
- else callback $ sendFile (jsDistPath </> "index.html")
- Nothing -> do
- let path = T.unpack $ T.intercalate "/" $ pathInfo req
- if path == ""
- then callback $ sendEmbeddedFile "index.html" indexHtml
- else case HM.lookup path staticAssets of
- Just bs -> callback $ sendEmbeddedFile path bs
- Nothing -> callback $ sendEmbeddedFile "index.html" indexHtml
-
-staticAssets :: HM.HashMap FilePath BS.ByteString
-staticAssets = HM.fromList $(embedDir "javascript/release")
-
-indexHtml :: BS.ByteString
-indexHtml = $(embedFile "javascript/release/index.html")
+staticMiddleware _ _ _ _ callback = callback fileNotFound
sendFile :: FilePath -> Response
sendFile path =
@@ -1843,7 +1817,6 @@ main = do
mkRequestLogger
def {outputFormat = Detailed True, destination = Logger loggerSet}
let staticFilePrefix = configStaticFilesUrlPrefix config
- mbJsDistPath = configJsDistDirectory config
environment =
Environment
loggerSet
@@ -1854,7 +1827,7 @@ main = do
config
static =
if configServeStaticFiles config
- then staticMiddleware staticFilePrefix packagePathMap mbJsDistPath
+ then staticMiddleware staticFilePrefix packagePathMap
else id
run
(configPort config)
diff --git a/javascript/.ember-cli b/javascript/.ember-cli
deleted file mode 100644
index 59bb55f..0000000
--- a/javascript/.ember-cli
+++ /dev/null
@@ -1,9 +0,0 @@
-{
- /**
- Ember CLI sends analytics information by default. The data is completely
- anonymous, but there are times when you might want to disable this behavior.
-
- Setting `disableAnalytics` to true will prevent any data from being sent.
- */
- "disableAnalytics": true
-}
diff --git a/javascript/.eslintrc.js b/javascript/.eslintrc.js
deleted file mode 100644
index 56940e4..0000000
--- a/javascript/.eslintrc.js
+++ /dev/null
@@ -1,15 +0,0 @@
-module.exports = {
- root: true,
- parserOptions: {
- ecmaVersion: 2017,
- sourceType: 'module'
- },
- extends: 'eslint:recommended',
- env: {
- browser: true
- },
- rules: {
- 'no-console':0,
- "no-useless-escape": 0
- }
-};
diff --git a/javascript/.gitignore b/javascript/.gitignore
deleted file mode 100644
index 20b90e3..0000000
--- a/javascript/.gitignore
+++ /dev/null
@@ -1,15 +0,0 @@
-# compiled output
-/dist
-/tmp
-
-# dependencies
-/node_modules
-/bower_components
-
-# misc
-/.sass-cache
-/connect.lock
-/coverage/*
-/libpeerconnection.log
-npm-debug.log
-testem.log
diff --git a/javascript/.watchmanconfig b/javascript/.watchmanconfig
deleted file mode 100644
index e7834e3..0000000
--- a/javascript/.watchmanconfig
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "ignore_dirs": ["tmp", "dist"]
-}
diff --git a/javascript/README.md b/javascript/README.md
deleted file mode 100644
index d73ef9e..0000000
--- a/javascript/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# haskell-code-explorer
-
-## Prerequisites
-* [Node.js](https://nodejs.org/) (with NPM)
-* [Ember CLI](https://ember-cli.com/)
-* [bower](https://bower.io/)
-
-## Installation
-* `cd haskell-code-explorer/javascript`
-* `npm install`
-* `bower install`
-
-## Running / Development
-* Start haskell-code-server on port 8080
-* `ember server --port=4200 --proxy=http://localhost:8080`
-* Visit your app at [http://localhost:4200](http://localhost:4200).
-
-To test the app with real-world data :
-* ember server --proxy=https://haskell-code-explorer.mfix.io/
-
-## Running Tests
-* `ember server --port=4200`
-* Open [http://localhost:4200/tests](http://localhost:4200/tests) in a browser
-
-## Building
-* `ember build --environment production`
diff --git a/javascript/app/app.js b/javascript/app/app.js
deleted file mode 100644
index 4f3fd63..0000000
--- a/javascript/app/app.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import Ember from 'ember';
-import Resolver from 'ember-resolver';
-import loadInitializers from 'ember-load-initializers';
-import config from './config/environment';
-
-var App;
-
-App = Ember.Application.extend({
- modulePrefix: config.modulePrefix,
- Resolver: Resolver
-});
-
-loadInitializers(App, config.modulePrefix);
-
-export default App;
diff --git a/javascript/app/components/.gitkeep b/javascript/app/components/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/javascript/app/components/.gitkeep
+++ /dev/null
diff --git a/javascript/app/components/bottom-panel.js b/javascript/app/components/bottom-panel.js
deleted file mode 100644
index 6415d0e..0000000
--- a/javascript/app/components/bottom-panel.js
+++ /dev/null
@@ -1,52 +0,0 @@
-import Ember from 'ember';
-
-function show(component) {
- const height = Math.floor(component.$containerElement.height() /2);
- component.$().css({
- "display":"block",
- "top" : height+"px"
- });
- component.$topPanelElement.css({
- "height":height+"px"
- });
-}
-
-function hide(component) {
- const height = Math.floor(component.$containerElement.height()/2);
- component.$().css({
- "display":"none",
- "height":height+"px"
- });
- component.$topPanelElement.css({
- "height":"100%"
- });
-}
-
-export default Ember.Component.extend({
- classNames:["bottom-panel"],
- didInsertElement : function () {
- this._super(...arguments);
- this.$topPanelElement = Ember.$(this.get('topPanelElementId'));
- this.$containerElement = Ember.$(this.get('containerElementId'));
- Ember.run.next(this,() => {
- Ember.$(this.element).resizable({
- handles:"n",
- maxHeight:700,
- minHeight:200,
- resize: (event,ui) => {
- Ember.run.next(this,() => {
- this.$topPanelElement.css({"height": this.$containerElement.height() - ui.size.height});
- });
- }
- });
- });
- },
- visibilityObserver : Ember.observer('visible',function () {
- this.get('visible') ? show(this) : hide(this);
- }),
- actions : {
- close () {
- this.set('visible',false);
- }
- }
-});
diff --git a/javascript/app/components/expression-info.js b/javascript/app/components/expression-info.js
deleted file mode 100644
index d403c49..0000000
--- a/javascript/app/components/expression-info.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Ember from 'ember';
-export default Ember.Component.extend({
-});
diff --git a/javascript/app/components/file-tree.js b/javascript/app/components/file-tree.js
deleted file mode 100644
index f78ba1d..0000000
--- a/javascript/app/components/file-tree.js
+++ /dev/null
@@ -1,118 +0,0 @@
-import Ember from 'ember';
-
-const directoryTreeToJsTree = function (packageId,directoryTree) {
- return directoryTree.contents.map((node) => {
- const jsTreeNode = {};
- jsTreeNode.text = node.name;
- jsTreeNode.data = node;
- if(node.path) {
- jsTreeNode.id = node.path;
- jsTreeNode.a_attr = {href:"/package/" + packageId + "/show/" + node.path};
- }
- if(node.tag === "Dir") {
- jsTreeNode.children = directoryTreeToJsTree(packageId,node);
- jsTreeNode.state = {"opened" : containsHaskellModule(node)};
- } else {
- if(node.isHaskellModule) {
- jsTreeNode.icon = "/assets/haskell.ico";
- jsTreeNode.isHaskellModule = true;
- } else {
- jsTreeNode.icon = "jstree-file";
- jsTreeNode.isHaskellModule = false;
- }
- }
- return jsTreeNode;
- });
-};
-
-const containsHaskellModule = function(node) {
- return node.contents.some((n) => {
- if(n.tag === "File") {
- return n.isHaskellModule;
- } else {
- return containsHaskellModule(n);
- }
- });
-}
-
-const fileExtension = function (filename) {
- const idx = filename.lastIndexOf('.');
- return (idx < 1) ? "" : filename.substr(idx + 1);
-}
-
-export default Ember.Component.extend({
- query: null,
- sortType: "alphabetical",
- sortTypeObserver : Ember.observer('sortType',function() {
- Ember.run.next(this,() => {
- this.jstree.refresh();
- });
- }),
- didInsertElement : function () {
- this._super(...arguments);
- const element = this.element.getElementsByClassName('file-tree')[0];
- const component = this;
-
- const jstreeElement = Ember.$(element).jstree({
- 'core' : {
- 'data' : directoryTreeToJsTree(this.get('packageId'),this.get('directoryTree'))
- },
- "plugins" : [
- "search",
- "sort"
- ],
- "search": {
- "case_insensitive": true,
- "show_only_matches" : true,
- "show_only_matches_children": true
- },
- 'sort' : function (a,b) {
- const node1 = this.get_node(a).data;
- const node2 = this.get_node(b).data;
- if(component.get("sortType") === "alphabetical") {
- return node1.name.localeCompare(node2.name);
- } else {
- const extendedName1 = (node1.tag === "Dir" ? "0" : "1") + fileExtension(node1.name) + node1.name;
- const extendedName2 = (node2.tag === "Dir" ? "0" : "1") + fileExtension(node2.name) + node2.name;
- return extendedName1.localeCompare(extendedName2);
- }
- }
- });
-
- jstreeElement.on("select_node.jstree",(event,data) => {
- const file = data.node.data;
- if(file.tag != "Dir") {
- this.sendAction('openFile',file.path);
- }
- });
-
- const jstree = jstreeElement.jstree(true);
-
- if(this.get('currentFile')) {
- jstree.select_node(this.get('currentFile'));
- const node = jstree.get_node(this.get('currentFile'),true)[0];
- if(node) {
- node.scrollIntoView();
- }
- }
- this.jstree = jstree;
- },
- currentFileObserver : Ember.observer('currentFile',function() {
- Ember.run.next(() => {
- this.jstree.deselect_all();
- this.jstree.select_node(this.get('currentFile'));
- });
- }),
- queryObserver : Ember.observer('query',function() {
- if(this.get('query')) {
- this.jstree.search(this.get('query'));
- } else {
- this.jstree.clear_search();
- }
- }),
- actions : {
- hide() {
- this.get('hide')();
- }
- }
-});
diff --git a/javascript/app/components/haskell-module.js b/javascript/app/components/haskell-module.js
deleted file mode 100644
index 187e6c5..0000000
--- a/javascript/app/components/haskell-module.js
+++ /dev/null
@@ -1,520 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../utils/go-to-definition';
-import {initializeLineSelection} from '../utils/line-selection';
-import {addLinksToLanguageExtensionsDocs} from '../utils/language-extensions';
-
-function compareLocations (p1,p2) {
- if(p1.line === p2.line) {
- if(p1.column === p2.column) {
- return 0;
- } else if(p1.column > p2.column) {
- return 1;
- } else {
- return -1;
- }
- } else if(p1.line > p2.line) {
- return 1;
- } else {
- return -1;
- }
-}
-
-function buildSrcSpan(sourceCodeLines,start,end) {
- if(sourceCodeLines[start.line] && sourceCodeLines[end.line]) {
- if(start.line === end.line) {
- return sourceCodeLines[start.line].slice(start.column-1,end.column-1);
- } else {
- const firstLine = sourceCodeLines[start.line];
- let middleLines = [];
- for(let i = start.line + 1; i < end.line;i ++) {
- middleLines.push(sourceCodeLines[i]);
- }
- const lastLine = sourceCodeLines[end.line];
- const minOffset = Math.min(start.column,
- (middleLines.concat([lastLine]))
- .map((line) => line.search(/\S/))
- .reduce((min,value) => Math.min(min,value)));
- return firstLine.slice(start.column-1,firstLine.length) + "\n"
- + middleLines.map((line) => line.slice(minOffset,line.length)).join("\n")
- + (middleLines.length ? "\n" : "") + lastLine.slice(minOffset,end.column-1);
- }
- } else {
- return null;
- }
-}
-
-function modifyClass(element,on) {
- if(on) {
- element.classList.add('highlighted-identifier');
- } else {
- element.classList.remove('highlighted-identifier');
- }
-}
-
-function highlightIdentifiers(parentElement,identifierElement,on) {
- if(identifierElement.id) {
- const identifiers = Array.prototype.slice.call(parentElement.querySelectorAll("span[id='"+identifierElement.id+"']"));
- identifiers.forEach((identifier) => {
- modifyClass(identifier,on);
- });
- } else {
- modifyClass(identifierElement,on);//Literal
- }
-}
-
-//divident is a string
-//divident may have any number of digits
-function modulo(divident, divisor) {
- return Array.from(divident).map(c => parseInt(c))
- .reduce((acc, value) => {
- return (acc * 10 + value) % divisor;
- },0);
-}
-
-function isDefinedInCurrentModule(moduleName,modulePath,identifierInfo) {
- return (identifierInfo.sort === "External") &&
- (identifierInfo.locationInfo.modulePath === modulePath
- || identifierInfo.locationInfo.moduleName === moduleName)
-}
-
-function identifierStyle(identifierElement,
- identifiers,
- occurrences,
- path,
- colorTheme,
- moduleName) {
- const idOcc = occurrences[identifierElement.dataset.occurrence];
-
- let color = colorTheme.defaultColor;
- let fontWeight;
-
- if(idOcc) {
- if(idOcc.sort.tag === 'TypeId') {
- color = colorTheme.typeColor;
- } else if(idOcc.description === "HsLit" ||
- idOcc.description === "HsOverLit"||
- idOcc.description === "LitPat" ||
- idOcc.description === "NPat" ||
- idOcc.description === "NPlusKPat" ||
- idOcc.description === "OverLit") {
- color = colorTheme.literalColor;
- } else {
- const idInfo = identifiers[identifierElement.dataset.identifier];
- if(idInfo) {
- if(isDefinedInCurrentModule(moduleName,path,idInfo)) {
- color = colorTheme.topLevelIdFromCurrentModule;
- } else if(idInfo.sort === "Internal" && idInfo.locationInfo.tag === "ExactLocation") {
- const colorNumber = modulo(identifierElement.id,colorTheme.localIdentifierColor.length);
- color = colorTheme.localIdentifierColor[colorNumber];
- fontWeight = "bold";
- }
- }
- }
- }
-
- return "color:"+color+";"
- +(fontWeight ? "font-weight:" + fontWeight : "")+";"
- +(idOcc.isBinder ? "text-decoration:underline;" : "");
-}
-
-function initializeIdentifiers (sourceCodeContainerElement,component) {
- const identifierElements = Array.prototype.slice.call(sourceCodeContainerElement.querySelectorAll("span.identifier"));
- if(identifierElements.length > 0) {
- const timeout = 250;//milliseconds
- let timer = null;
-
- identifierElements.forEach((identifierElement) => {
-
- const cssText = identifierStyle(identifierElement,
- component.get('identifiers'),
- component.get('occurrences'),
- component.get('path'),
- component.get('colorTheme'),
- component.get('name'));
-
- identifierElement.style.cssText = cssText;
-
- //go to definition
- identifierElement.onmouseup = (event) => {
- if(timer) {
- clearTimeout(timer);
- }
-
- if(!window.getSelection().isCollapsed) {
- return;
- }
-
- const identifierInfo = component.get('identifiers')[identifierElement.dataset.identifier];
- const idOccurrenceInfo = component.get('occurrences')[identifierElement.dataset.occurrence];
-
- const currentLineNumber = parseInt(identifierElement.parentNode.dataset.line);
-
- if(idOccurrenceInfo.sort.tag === "ModuleId") {
- goToDefinition(component.get('store'),
- idOccurrenceInfo.sort.contents,
- event.which,
- currentLineNumber);
- }
- else {
- if(identifierInfo && (event.which === 1 || event.which === 2)) {
- if(!idOccurrenceInfo.isBinder) {
- goToDefinition(component.get('store'),
- identifierInfo.locationInfo,
- event.which,
- currentLineNumber);
- } else {
- if(identifierInfo.sort === "External") {
- component.get('findReferences')(component.get('packageId'),
- identifierInfo.externalId,
- identifierInfo.demangledOccName,
- identifierInfo.locationInfo);
-
- }
- }
- }
- }
- }
- identifierElement.onmouseover = () => {
- highlightIdentifiers(sourceCodeContainerElement,identifierElement,true);
- if(timer) {
- clearTimeout(timer);
- }
- timer = setTimeout(() => {
- Ember.run.next(component,() => {
- const identifierInfo = component.get('identifiers')[identifierElement.dataset.identifier];
- const identifierOccurrence = component.get('occurrences')[identifierElement.dataset.occurrence];
- console.log(identifierOccurrence);
- console.log(identifierInfo);
-
- component.set('selectedIdentifier',identifierElement);
- component.set('currentLineNumber',parseInt(identifierElement.parentNode.dataset.line) || 1);
- component.set('identifierInfo',identifierInfo);
- component.set('identifierOccurrence',identifierOccurrence);
- component.set('hasSelectedExpression',false);
- component.set('isHoveredOverIdentifier',true);
-
- });
- },timeout);
- };
-
- identifierElement.onmouseout = () => {
- highlightIdentifiers(sourceCodeContainerElement,identifierElement,false);
-
- if(timer) {
- clearTimeout(timer);
- }
-
- timer = setTimeout (() => {
- Ember.run.next(component,() => {
- component.set('isHoveredOverIdentifier',false);
- });
- },timeout);
- };
- });
- component.timer = timer;
- }
-}
-
-
-
-function contains (node, other) {
- return node === other || !!(node.compareDocumentPosition(other) & 16);
-}
-
-function initializeExpressionInfo(sourceCodeContainerElement,component) {
- const lineElements = Array.prototype.slice.call(sourceCodeContainerElement.querySelectorAll("td.line-content"));
- if(lineElements.length > 0) {
-
- //Line numbers start with 1
- let sourceCodeLines = [""];
-
- lineElements.forEach((el) => {
- sourceCodeLines.push(el.textContent);
- });
-
- const allowedNodeNames = ["#text","SPAN","TD"];
- let isLoading = false;
- let shouldWait = false;
- const timeout = 400;//milliseconds
-
- const onmouseup = function() {
- Ember.run.next(() => {
- if(isLoading || shouldWait) {
- return;
- }
- shouldWait = true;
- setTimeout(() => {shouldWait = false;},timeout);
-
- component.set('hasSelectedExpression',false);
-
- const selection = window.getSelection();
-
- //Selection of multiple lines inside a table doesn't work in Firefox
- //https://bugzilla.mozilla.org/show_bug.cgi?id=365900
-
- if(!(selection.anchorNode && selection.focusNode)
- || !contains(sourceCodeContainerElement,selection.anchorNode)
- || !contains(sourceCodeContainerElement,selection.focusNode)
- || (allowedNodeNames.indexOf(selection.anchorNode.nodeName) === -1)
- || (allowedNodeNames.indexOf(selection.focusNode.nodeName) === -1)
- || selection.isCollapsed) {
- return;
- }
-
- // Detects whether the selection is backwards
- const detectionRange = document.createRange();
- detectionRange.setStart(selection.anchorNode, selection.anchorOffset);
- detectionRange.setEnd(selection.focusNode, selection.focusOffset);
- const isBackward = detectionRange.collapsed;
-
- let startNode,startNodeOffset,endNode,endNodeOffset;
-
- if(isBackward) {
- startNode = selection.focusNode;
- startNodeOffset = selection.focusOffset;
- endNode = selection.anchorNode;
- endNodeOffset = selection.anchorOffset;
- } else {
- startNode = selection.anchorNode;
- startNodeOffset = selection.anchorOffset;
- endNode = selection.focusNode;
- endNodeOffset = selection.focusOffset;
- }
-
- let lineStart,columnStart,lineEnd,columnEnd;
- let infoWindowTargetElement;
-
-
- //HTML inside source code container :
- //<tr><td><span data-start="1" date-end="3">abc</span><span>...</span></td></tr>
- //<tr>...</tr>
- if(startNode.nodeName === "#text") {
- const parent = startNode.parentNode;//<span>
- columnStart = parseInt(parent.dataset.start) + startNodeOffset;
- lineStart = parseInt(parent.parentNode.dataset.line);
-
- if(startNodeOffset === startNode.textContent.length && parent.nextSibling === null) {
- const tr = startNode.parentNode.parentNode.parentNode;// span -> td -> tr
-
- //Skipping empty lines
- let nextLine = tr.nextSibling;
- while(nextLine.children[1].textContent === "") {
- nextLine = nextLine.nextSibling;
- }
- infoWindowTargetElement = nextLine.children[1].children[0];
-
- } else {
- if(!(startNodeOffset === 0) && (parent.nextSibling)) {
- infoWindowTargetElement = parent.nextSibling;
- } else {
- infoWindowTargetElement = parent;
- }
- }
- } else if(startNode.nodeName === "SPAN") {
- columnStart = 1;
- lineStart = parseInt(startNode.parentNode.dataset.line);
-
- const tr = startNode.parentNode.parentNode; // td -> tr
- let nextLine = tr.nextSibling;
- while(nextLine.children[1].textContent === "") {
- nextLine = nextLine.nextSibling;
- }
- infoWindowTargetElement = nextLine.children[1].children[0];
-
- } else if(startNode.nodeName === "TD") {
- if(startNodeOffset > 0) {
- const child = startNode.children[startNodeOffset-1];
- columnStart = parseInt(child.dataset.start);
- } else {
- columnStart = 1;
- }
- lineStart = parseInt(startNode.id.slice(2));
- infoWindowTargetElement = startNode.children[0];
- }
-
- if(endNode.nodeName === "#text") {
- columnEnd = parseInt(endNode.parentNode.dataset.start) + endNodeOffset;
- lineEnd = parseInt(endNode.parentNode.parentNode.dataset.line);
- } else if(endNode.nodeName === "SPAN") {
- columnEnd = 1;
- lineEnd = parseInt(endNode.parentNode.dataset.line);
- } else if(endNode.nodeName === "TD"){
- if(endNodeOffset > 0) {
- const child = endNode.children[endNodeOffset-1];
- columnEnd = parseInt(child.dataset.start);
- } else {
- columnEnd = 1;
- }
- lineEnd = parseInt(endNode.id.slice(2));
- }
-
- const loadExprPromise = component.get('store').loadExpressions(
- component.get('packageId'),
- component.get('path'),
- lineStart,
- columnStart,
- lineEnd,
- columnEnd);
- isLoading = true;
-
- loadExprPromise.then((expressions) => {
- Ember.run.next(() => {
- if(expressions && expressions.length > 0) {
- expressions.sort(function(expr1,expr2) {
- if( compareLocations(expr1.srcSpan.start,expr2.srcSpan.start) <= 0
- && compareLocations(expr1.srcSpan.end,expr2.srcSpan.end) >= 0 ) {
- return -1;
- } else {
- return 1;
- }
- });
-
- const expressionsWithSourceCode = expressions.reduce((result,expression) => {
- const object = Ember.copy(expression);
- const srcSpan = buildSrcSpan(sourceCodeLines,
- expression.srcSpan.start,
- expression.srcSpan.end);
- if(srcSpan) {
- object.sourceCode = srcSpan;
- return result.concat(object);
- } else {
- return result;
- }
- },[]);
-
- if(expressionsWithSourceCode.length > 0) {
- component.set('selectedIdentifier',infoWindowTargetElement);
- component.set('expressions',expressionsWithSourceCode);
- component.set('currentLineNumber',parseInt(infoWindowTargetElement.parentNode.dataset.line) || 1);
- component.set('hasSelectedExpression',true);
-
- }
- }
- isLoading = false;
- });
- });
- });
- };
-
- sourceCodeContainerElement.addEventListener('mouseup',onmouseup);
- component._onmouseup = onmouseup;
- }
-}
-
-export default Ember.Component.extend({
- store : Ember.inject.service('store'),
- selectedIdentifier : null,
- isHoveredOverIdentifier : false,
- hasSelectedExpression : false,
- showDeclarations : true,
- showDeclarationsLabel : Ember.computed('showDeclarations',function () {
- return this.get('showDeclarations') ? "Hide" : "Show";
- }),
- queryObserver : Ember.observer("query",function() {
- Ember.run.debounce(this, () => {
- const regExp = new RegExp(this.get('query'),"i");
- const filteredDeclarations = this.get('declarations').filter((d) => d.name.search(regExp) != -1);
- Ember.run.next(() => {
- this.set('filteredDeclarations',filteredDeclarations);
- });
- }, 300);
- }),
- identifierLocationInfo : Ember.computed('identifierInfo','identifierOccurrence',function() {
- const idOcc = this.get('identifierOccurrence');
- const idInfo = this.get('identifierInfo');
- if(idOcc) {
- if(idOcc.sort.tag === "ModuleId") {
- return idOcc.sort.contents;
- } else {
- if(idInfo) {
- return idInfo.locationInfo;
- } else {
- return null;
- }
- }
- }
- }),
- themeObserver : Ember.observer('colorTheme',function() {
- Ember.run.next(this,() => {
- this.cleanup();
- this.didInsertElement();
- });
- }),
- fileObserver : Ember.observer('path',function() {
- Ember.run.next(this,() => {
- this.cleanup();
- this.didInsertElement();
- });
- }),
- cleanup() {
- if(this.timer) {
- clearTimeout(this.timer);
- }
- if(this._onhashchange) {
- window.removeEventListener('hashchange',this._onhashchange);
- }
- if(this._onkeydown) {
- document.removeEventListener('keydown',this._onkeydown);
- }
- if(this._onkeyup) {
- document.removeEventListener('keyup',this._onkeyup);
- }
- if(this._onmouseup) {
- this.sourceCodeContainerElement.removeEventListener('mouseup',this._onmouseup);
- }
- this.set('selectedIdentifier',null);
- this.set('isHoveredOverIdentifier',false);
- this.set('hasSelectedExpression',false);
- this.set('showDeclarations',true);
- },
- didReceiveAttrs() {
- this.set('filteredDeclarations',this.get('declarations'));
- },
- didInsertElement() {
- this._super(...arguments);
- const sourceCodeContainerElement = this.element.querySelector('.source-code-container');
- sourceCodeContainerElement.innerHTML = this.get('html');
- this.sourceCodeContainerElement = sourceCodeContainerElement;
-
- // Add links to Haskell language extensions docs
- const lines = this.sourceCodeContainerElement.querySelectorAll("tr > td:nth-child(2)");
- const lineCount = lines.length;
- let i = 0;
- while(i < lineCount) {
- const line = lines.item(i);
- const lineText = line.textContent;
- if(lineText) {
- // A file-header pragma must precede the module keyword in the file.
- if(lineText.indexOf("module ") === 0) {
- break;
- } else {
- line.innerHTML = addLinksToLanguageExtensionsDocs(lineText);
- }
- }
- i = i + 1;
- }
-
- this.element.parentNode.scrollTop = 0;
- const declarations = this.element.querySelector('.declarations-content');
- this.set('query','');
- if(declarations) {
- declarations.scrollTop = 0;
- }
- Ember.run.next(this,() => {
- initializeIdentifiers(sourceCodeContainerElement,this);
- initializeLineSelection(sourceCodeContainerElement,this);
- initializeExpressionInfo(sourceCodeContainerElement,this);
- });
- },
- willDestroyElement() {
- this.cleanup();
- },
- actions : {
- goToLine(lineNumber) {
- window.location.hash = "L"+lineNumber;
- },
- toggleShowDeclarations() {
- this.toggleProperty('showDeclarations');
- }
- }
-});
diff --git a/javascript/app/components/identifier-info.js b/javascript/app/components/identifier-info.js
deleted file mode 100644
index 79c35c6..0000000
--- a/javascript/app/components/identifier-info.js
+++ /dev/null
@@ -1,73 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../utils/go-to-definition';
-
-export default Ember.Component.extend({
- store : Ember.inject.service('store'),
- downloadedDocumentation : null,
- didInsertElement () {
- const onmouseup = (event) => {
- if(event.target.dataset.location) {
- let location;
- try {
- location = JSON.parse(event.target.dataset.location);
- } catch (e) {
- console.log(e);
- }
- if(location) {
- goToDefinition(this.get('store'),location,event.which,this.get('currentLineNumber'));
- }
- }
- };
- this.element.addEventListener('mouseup',onmouseup);
- this._onmouseup = onmouseup;
- },
- willDestroyElement : function () {
- if(this._onmouseup) {
- this.element.removeEventListener('mouseup',this._onmouseup);
- }
- },
- //Naughty record selectors :
- //https://github.com/ghc/ghc/blob/ced2cb5e8fbf4493488d1c336da7b00d174923ce/compiler/typecheck/TcTyDecls.hs#L940-L961
- isNaughtyRecSel : Ember.computed('identifierInfo',function () {
- const idInfo = this.get('identifierInfo');
- return idInfo ? (idInfo.details === "RecSelIdNaughty") : false;
- }),
- isExternalIdentifier : Ember.computed('identifierInfo',function () {
- const idInfo = this.get('identifierInfo');
- return idInfo ? (idInfo.sort === "External") : false;
- }),
- identifierObserver : Ember.observer('identifierInfo',function () {
- this.set("downloadedDocumentation","");
- const idInfo = this.get('identifierInfo');
- if(idInfo) {
- const locationInfo = idInfo.locationInfo;
- if(locationInfo.tag === "ApproximateLocation") {
- const packageId = locationInfo.packageId.name + "-" + locationInfo.packageId.version;
- const currentIdentifier = idInfo;
-
- this.get('store').loadDefinitionSite(packageId,
- locationInfo.moduleName,
- locationInfo.componentId,
- locationInfo.entity,
- locationInfo.name)
- .then((definitionSite) => {
- Ember.run.next(this,() => {
- if(currentIdentifier === this.get('identifierInfo')) {
- this.set('downloadedDocumentation',definitionSite.documentation);
- }})
- }).catch(() => {
- this.get('store').loadHoogleDocs(packageId,
- locationInfo.moduleName,
- locationInfo.entity,
- locationInfo.name)
- .then((hoogleDocs) => {
- Ember.run.next(this,() => {
- if(currentIdentifier === this.get('identifierInfo')) {
- this.set('downloadedDocumentation',hoogleDocs);
- }});
- });
- });
- }
- }
- })
-});
diff --git a/javascript/app/components/identifier-name.js b/javascript/app/components/identifier-name.js
deleted file mode 100644
index 4b01b03..0000000
--- a/javascript/app/components/identifier-name.js
+++ /dev/null
@@ -1,61 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../utils/go-to-definition';
-
-export default Ember.Component.extend({
- store : Ember.inject.service('store'),
- name : Ember.computed('identifierElement',function() {
- const element = this.get('identifierElement');
- if(element) {
- return element.innerText;
- }
- }),
- style : Ember.computed('identifierElement',function() {
- const element = this.get('identifierElement');
- if(element) {
- return new Ember.String.htmlSafe("color:"+element.style.color);
- }
- }),
- locationInfo : Ember.computed('identifierInfo','identifierOccurrence',function() {
- if(this.get('identifierOccurrence.sort.tag') === "ModuleId") {
- return this.get('identifierOccurrence.sort.contents');
- } else {
- return this.get('identifierInfo.locationInfo');
- }
- }),
- location : Ember.computed('locationInfo',function() {
- const loc = this.get('locationInfo');
- if(loc) {
- if(loc.tag === "ExactLocation") {
- return loc.modulePath;
- } else if(loc.tag === "ApproximateLocation") {
- if(loc.entity === "Mod") {
- return loc.packageId.name + "-" + loc.packageId.version;
- } else {
- return loc.packageId.name + "-" + loc.packageId.version + " " + loc.moduleName;
- }
- } else {
- return loc.contents;
- }
- } else {
- return "";
- }
- }),
- isExternalIdentifier : Ember.computed('identifierInfo',function () {
- return (this.get('identifierInfo.sort') === "External");
- }),
- actions : {
- goToDefinition (event) {
- goToDefinition(this.get('store'),
- this.get('locationInfo'),
- event.which,
- this.get('currentLineNumber'));
- return false;
- },
- findReferences (identifierInfo,currentPackageId) {
- this.get('findReferences')(currentPackageId,
- identifierInfo.externalId,
- identifierInfo.demangledOccName,
- identifierInfo.locationInfo);
- }
- }
-});
diff --git a/javascript/app/components/infinite-list.js b/javascript/app/components/infinite-list.js
deleted file mode 100644
index 02e1943..0000000
--- a/javascript/app/components/infinite-list.js
+++ /dev/null
@@ -1,50 +0,0 @@
-import Component from '@ember/component';
-import { run } from '@ember/runloop';
-import { observer } from '@ember/object';
-
-let pageNumber;
-let updating = false;
-
-function initialize(component) {
- component.set('renderedElements',component.get('elements').slice(0,component.get('perPage')));
- pageNumber = 1;
-}
-
-export default Component.extend({
- renderedElements : [],
- init() {
- this._super(...arguments);
- initialize(this);
- },
- elementsObserver : observer('elements',function() {
- initialize(this);
- const containerElement = document.getElementById(this.get('containerElementId'));
- if(containerElement) {
- containerElement.scrollTop = 0;
- }
- }),
- didInsertElement() {
- const containerElement = document.getElementById(this.get('containerElementId'));
- if(containerElement) {
- const component = this;
- containerElement.onscroll = function() {
- const perPage = component.get('perPage');
- const elements = component.get('elements');
-
- if(!updating &&
- (pageNumber * perPage < elements.length) &&
- (containerElement.scrollTop + containerElement.offsetHeight
- > component.element.offsetHeight - 100)) {
-
- updating = true;
- run.next(component,() => {
- const newElements = elements.slice(pageNumber * perPage,(pageNumber + 1) * perPage);
- component.get('renderedElements').pushObjects(newElements);
- pageNumber ++;
- updating = false;
- });
- }
- }
- }
- }
-});
diff --git a/javascript/app/components/info-window.js b/javascript/app/components/info-window.js
deleted file mode 100644
index da669f1..0000000
--- a/javascript/app/components/info-window.js
+++ /dev/null
@@ -1,144 +0,0 @@
-import Ember from 'ember';
-
-let resizing = false;
-let dragging = false;
-
-function updatePosition(component) {
- const targetElement = component.get('targetElement');
- if(targetElement) {
- const infoWindowHeight = component.element.offsetHeight;
- const targetElementHeight = targetElement.offsetHeight;
-
- const parent = targetElement.parentNode;//<td> element
- const containerElement = document.querySelector("#" + component.get('containerElementId'));
-
- //getBoundingClientRect() returns the smallest rectangle which contains
- //the entire element, with read-only left, top, right, bottom, x, y, width,
- //and height properties describing the overall border-box in pixels. Properties
- //other than width and height are relative to the top-left of the *viewport*.
- const targetTopViewport = targetElement.getBoundingClientRect().top;
-
- let containerTopViewport;
- if (containerElement) {
- containerTopViewport = containerElement.getBoundingClientRect().top;
- } else {
- containerTopViewport = 0;
- }
-
- let infoWindowTop;
- if(targetTopViewport < infoWindowHeight + containerTopViewport) {
- //offsetTop is the number of pixels from the top of the closest relatively
- //positioned parent element.
- infoWindowTop = targetElement.offsetTop + parent.offsetTop
- + targetElementHeight + 10 + "px";
- } else {
- infoWindowTop = targetElement.offsetTop + parent.offsetTop
- - infoWindowHeight + "px";
- }
-
- const infoWindowLeft = targetElement.offsetLeft + parent.offsetLeft + "px";
-
- component.$().css({
- top:infoWindowTop,
- left:infoWindowLeft
- });
- } else {
- component.set('isPinned',false);
- }
-}
-
-export default Ember.Component.extend({
- classNames : ["info-window-container"],
- attributeBindings: ['hidden'],
- isPinned : false,
- isFocused: false,
- didInsertElement () {
- const component = this;
-
- const $headerElement = Ember.$(component.element.querySelector(".info-window-header"));
- const $contentElement = Ember.$(component.element.querySelector(".info-window-content"));
- const $infoWindowElement = Ember.$(component.element.querySelector(".info-window"));
- const $infoWindowContainerElement = Ember.$(component.element);
-
- this.$headerElement = $headerElement;
- this.$contentElement = $contentElement;
-
- this.$().resizable({
- handles: "n,w",
- minHeight: 80,
- minWidth: 400,
- start: function() {
- resizing = true;
- },
- stop: function() {
- resizing = false;
- },
- resize : function() {
- const containerHeight = $infoWindowContainerElement.height();
- $infoWindowElement.css({
- "height": containerHeight + 2 + "px"
- });
- $contentElement.css({
- "max-height":(containerHeight - $headerElement.outerHeight(true)) + "px"
- });
- }
- });
- this.$().draggable({
- containment:"#" + this.get('containerElementId'),
- handle: $headerElement,
- start: function() {
- dragging = true;
- },
- stop: function() {
- dragging = false;
- }
- });
- },
- mouseEnter () {
- if(!this.get('hasSelectedExpression')) {
- this.set('isFocused',true);
- }
- },
- mouseLeave (event) {
- //Workaround for a bug in Chrome
- const element = document.elementFromPoint(event.clientX,event.clientY);
- if(element && element.classList.contains('link')) {
- return;
- }
- if(!resizing
- && !dragging
- && !this.get('isPinned')
- && !this.get('hasSelectedExpression')) {
- this.set('isFocused',false);
- }
- },
- hidden : Ember.computed('isHoveredOverIdentifier',
- 'isFocused',
- 'hasSelectedExpression',
- 'isPinned', function() {
- if (this.$contentElement) {
- this.$contentElement.scrollTop(0);
- }
- if (this.get('isPinned')
- || this.get('isFocused')
- || this.get('isHoveredOverIdentifier')
- || this.get('hasSelectedExpression')) {
- return false;
- } else {
- return true;
- }
- }),
- didUpdate() {
- updatePosition(this);
- },
- actions : {
- close() {
- this.set('isPinned',false);
- this.set('isFocused',false);
- this.set('hasSelectedExpression',false);
- },
- pin() {
- this.toggleProperty('isPinned');
- }
- }
-});
diff --git a/javascript/app/components/input-with-autocomplete.js b/javascript/app/components/input-with-autocomplete.js
deleted file mode 100644
index 5960c46..0000000
--- a/javascript/app/components/input-with-autocomplete.js
+++ /dev/null
@@ -1,136 +0,0 @@
-import Ember from 'ember';
-export default Ember.Component.extend({
- store : Ember.inject.service('store'),
- highlightedItemIndex: -1,
- items : [],
- query: null,
- didInsertElement() {
- const $input = Ember.$(this.element).find(".search-input");
- const $autocompleteContainer = Ember.$(this.element).find(".autocomplete-container");
- this.$input = $input;
- this.$autocompleteContainer = $autocompleteContainer;
- const width = $input.width() + 300;
- $autocompleteContainer.css({
- "width" : width+"px",
- "top" : $input.outerHeight()
- });
- $input.keyup((e) => {
- if(e.which === 13) {
- this.onEnter();
- } else if(e.which === 27) {
- this.onEsc();
- } else if(e.which === 40) {
- this.onDown();
- } else if(e.which === 38) {
- this.onUp();
- }
- });
- $input.focusin(() => {
- this.showAutocompleteList();
- });
- $input.focusout(() => {
- //Timeout is needed to make sure that click event fires
- Ember.run.later((() => {
- this.hideAutocompleteList();
- }), 100);
- });
- },
- willDestroyElement() {
- this._super(...arguments);
- this.$input.off('keyup');
- this.$input.off('focusin');
- this.$input.off('focusout');
- },
- onEnter() {
- if(this.get('highlightedItemIndex') !== -1) {
- const item = this.get('items')[this.get('highlightedItemIndex')];
- if(item) {
- this.hideAutocompleteList();
- this.get('selectItem')(item);
- }
- } else {
- this.hideAutocompleteList();
- this.get('onSubmit')(this.get('query'));
- }
- },
- onEsc() {
- this.hideAutocompleteList();
- },
- onDown() {
- this.showAutocompleteList();
- const index = this.get('highlightedItemIndex');
- const items = this.get('items');
- const itemsCount = items.length;
- if(itemsCount > 0) {
- if(index !== -1) {
- if(index === itemsCount - 1) {
- this.set('highlightedItemIndex',0);
- } else {
- this.set('highlightedItemIndex',index+1);
- }
- } else {
- this.set('highlightedItemIndex',0);
- }
- }
- },
- onUp() {
- this.showAutocompleteList();
- const index = this.get('highlightedItemIndex');
- const items = this.get('items');
- const itemsCount = items.length;
- if(itemsCount > 0) {
- if(index !== -1) {
- if(index === 0) {
- this.set('highlightedItemIndex',itemsCount - 1);
- } else {
- this.set('highlightedItemIndex',index - 1);
- }
- } else {
- this.set('highlightedItemIndex',itemsCount - 1);
- }
- }
- },
- hideAutocompleteList() {
- this.set('highlightedItemIndex',-1);
- this.$autocompleteContainer.css({
- "display":"none",
- });
- },
- showAutocompleteList() {
- if(this.get('query') !== "") {
- this.$autocompleteContainer.css({
- "display":"block"
- });
- }
- },
- searchUrlObserver : Ember.observer('createSearchUrlFunction',function() {
- this.notifyPropertyChange('query');
- }),
- queryObserver : Ember.observer("query",function() {
- if(this.get('query')) {
- const perPage = this.get('maxItems') ? this.get('maxItems') : 10;
- const url = this.get('createSearchUrlFunction')(this.get('query')) + "?per_page=" + perPage;
- Ember.run.debounce(this, () => {
- this.get('store').loadFromUrlPaginated(url).then((result) => {
- Ember.run.next(() => {
- this.set('items',result.items);
- });
- });
- }, 400);
- this.showAutocompleteList();
- } else {
- this.hideAutocompleteList();
- this.set('items',[]);
- }
- }),
- actions : {
- onSubmit() {
- this.hideAutocompleteList();
- this.get('onSubmit')(this.get('query'));
- },
- goToDefinition (item) {
- this.hideAutocompleteList();
- this.get('selectItem')(item);
- }
- }
-});
diff --git a/javascript/app/components/instance-info.js b/javascript/app/components/instance-info.js
deleted file mode 100644
index 339d415..0000000
--- a/javascript/app/components/instance-info.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../utils/go-to-definition';
-
-export default Ember.Component.extend({
- store : Ember.inject.service('store'),
- style : Ember.computed('nestedLevel',function() {
- return new Ember.String.htmlSafe("margin-left :" + this.get('nestedLevel') * 10 + "px");
- }),
- nextNestedLevel : Ember.computed('nestedLevel',function () {
- return this.get('nestedLevel') + 1;
- }),
- actions : {
- goToDefinition (event) {
- goToDefinition(this.get('store'),
- this.get('instance.location'),
- event.which,
- this.get('currentLineNumber'));
- return false;
- }
- }
-});
diff --git a/javascript/app/components/paginated-list.js b/javascript/app/components/paginated-list.js
deleted file mode 100644
index d4b6609..0000000
--- a/javascript/app/components/paginated-list.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import Ember from 'ember';
-function loadItems(store,component,url) {
- store.loadFromUrlPaginated(url).then((result) => {
- Ember.run.next(() => {
- component.set('total',result.total);
- component.set('items',result.items);
- component.set('first',result.linkHeader.first);
- component.set('next',result.linkHeader.next);
- component.set('prev',result.linkHeader.prev);
- component.set('last',result.linkHeader.last);
-
- const pageMatch = url.match(/(&|\?)page=(\d+)/);
- const perPageMatch = url.match(/(&|\?)per_page=(\d+)/);
-
- const page = pageMatch ? pageMatch[2] : 1;
- const perPage = perPageMatch ? perPageMatch[2] : 20;
-
- if(result.linkHeader.next || result.linkHeader.prev) {
- component.set('firstItemOnPage',(page - 1) * perPage + 1);
- if(!result.linkHeader.last) {
- component.set('lastItemOnPage',result.total);
- } else {
- component.set('lastItemOnPage',page * perPage);
- }
- }
- });
- });
-}
-
-export default Ember.Component.extend({
- store : Ember.inject.service('store'),
- init() {
- this._super(...arguments);
- if(this.get('url')) {
- loadItems(this.get('store'),this,this.get('url'));
- }
- },
- urlObserver : Ember.observer('url',function () {
- loadItems(this.get('store'),this,this.get('url'));
- this.element.querySelector(".paginated-list-content").scrollTop = 0;
- }),
- actions : {
- update(url) {
- this.element.querySelector(".paginated-list-content").scrollTop = 0;
- loadItems(this.get('store'),this,url);
- }
- }
-});
diff --git a/javascript/app/components/resizable-panel.js b/javascript/app/components/resizable-panel.js
deleted file mode 100644
index fe51ade..0000000
--- a/javascript/app/components/resizable-panel.js
+++ /dev/null
@@ -1,76 +0,0 @@
-import Ember from 'ember';
-
-function hide (component,byUser) {
- component.$alsoResizeElement.css({left: 0});
- component.$().css({width:0});
- component.set('hidden',true);
- component.$(".show-left-panel-button").show();
- if(byUser) {
- component.set('hiddenByUser',true);
- }
-}
-
-function show (component,byUser) {
- component.$alsoResizeElement.css({left: 300});
- component.$().css({width:300});
- component.set('hidden',false);
- component.$(".show-left-panel-button").hide();
- if(byUser) {
- component.set('hiddenByUser',false);
- }
-}
-
-export default Ember.Component.extend({
- hidden:false,
- hiddenByUser:false,
- didInsertElement : function () {
- this._super(...arguments);
- Ember.run.next(this,() => {
- const onresize = () => {
- if(!this.get('hiddenByUser')) {
- const width = window.innerWidth;
- if(!this.get('hidden') && width < 700) {
- hide(this,false);
- } else if(this.get('hidden') && width > 700) {
- show(this,false);
- }
- }
- };
- this._onresize = onresize;
- window.addEventListener('resize', onresize);
- const $alsoResizeElement = Ember.$(this.get('alsoResizeElementId'));
- Ember.$(this.element).resizable({
- maxWidth: 800,
- minWidth: 200,
- handles: 'e',
- resize: (event,ui) => {
- Ember.run.next(this,() => {
- $alsoResizeElement.css({left: ui.size.width});
- });
- }
- });
- this.$alsoResizeElement = $alsoResizeElement;
- if(window.innerWidth < 700) {
- this.set('hidden',true);
- hide(this,false);
- }
- });
- },
- hideButtonLabel : Ember.computed('hidden',function() {
- return this.get('hidden') ? "&gt;" : "&lt;";
- }),
- willDestroyElement() {
- if(this._onresize) {
- window.removeEventListener('resize',this._onresize);
- }
- },
- actions : {
- hide() {
- if(this.get('hidden')) {
- show(this,true);
- } else {
- hide(this,true);
- }
- }
- }
-});
diff --git a/javascript/app/components/text-file.js b/javascript/app/components/text-file.js
deleted file mode 100644
index 2239571..0000000
--- a/javascript/app/components/text-file.js
+++ /dev/null
@@ -1,67 +0,0 @@
-/* global showdown */
-import Ember from 'ember';
-import {initializeLineSelection} from '../utils/line-selection';
-
-function escapeHtml(text) {
- return text.replace(/[\"&<>]/g, function (a) {
- return { '"': '&quot;', '&': '&amp;', '<': '&lt;', '>': '&gt;' }[a];
- });
-}
-
-function addLineNumbers (text) {
- const start = "<table class='source-code'><tbody>";
- const end = "</tbody></table>";
- let lineNumber = 0;
- const lines = text.split("\n").map((line) => {
- lineNumber ++;
- const lineNumberHtml = "<td id='LN"+lineNumber+"' class='line-number'>"+lineNumber+"</td>";
- const lineContentHtml = "<td id='LC"+lineNumber+"' class='line-content'>"+escapeHtml(line)+"</td>";
- return "<tr>"+ lineNumberHtml + lineContentHtml + "</tr>";
- }).join("");
- return start + lines + end;
-}
-
-const markdownExtensions = ["markdown", "mdown", "mkdn", "mkd", "md"];
-
-export default Ember.Component.extend({
- isMarkdown : Ember.computed('path',function() {
- const maybeExtension = this.get('path').split('.').pop();
- return markdownExtensions.any((extension) => (maybeExtension === extension));
- }),
- html : Ember.computed('path','isMarkdown',function() {
- if(this.get('isMarkdown')) {
- return this.markdownConverter.makeHtml(this.get('text'));
- } else {
- return addLineNumbers(this.get('text'));
- }
- }),
- init() {
- this._super(...arguments);
- this.markdownConverter = new showdown.Converter();
- },
- didInsertElement() {
- const sourceCodeContainerElement = this.element.querySelector('.source-code-container');
- initializeLineSelection(sourceCodeContainerElement,this);
- this.element.parentNode.scrollTop = 0;
- },
- willDestroyElement : function () {
- this.cleanup();
- },
- cleanup() {
- if(this._onhashchange) {
- window.removeEventListener('hashchange',this._onhashchange);
- }
- if(this._onkeydown) {
- document.removeEventListener('keydown',this._onkeydown);
- }
- if(this._onkeyup) {
- document.removeEventListener('keyup',this._onkeyup);
- }
- },
- pathObserver : Ember.observer('path',function() {
- Ember.run.next(this,() => {
- this.cleanup();
- this.didInsertElement();
- });
- })
-});
diff --git a/javascript/app/components/type-component.js b/javascript/app/components/type-component.js
deleted file mode 100644
index c19facc..0000000
--- a/javascript/app/components/type-component.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../utils/go-to-definition';
-
-export default Ember.Component.extend({
- store : Ember.inject.service('store'),
- tagName : 'span',
- classNames: ["type-component"],
- contextMenu() {//right mouse button click to show kind of a type constructor or type variable
- if(this.get('identifiers') && this.get('internalId')) {
- this.set('expanded',true);
- }
- return false;
- },
- linkClass : Ember.computed('identifierInfo',function() {
- return this.get('identifierInfo') ? "link" : "";
- }),
- identifierInfo : Ember.computed('internalId',function() {
- return this.get('internalId') ? this.get('identifiers')[this.get('internalId')] : null;
- }),
- actions : {
- onmouseup (event) {
- if(this.get('identifierInfo') && (event.which !== 3 )) {
- const locationInfo = this.get('identifierInfo').locationInfo;
- goToDefinition(this.get('store'),locationInfo,event.which,this.get('currentLineNumber'));
- return false;
- }
- }
- }
-});
diff --git a/javascript/app/components/type-signature-text.js b/javascript/app/components/type-signature-text.js
deleted file mode 100644
index ce33607..0000000
--- a/javascript/app/components/type-signature-text.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import Ember from 'ember';
-export default Ember.Component.extend({
- tagName : "span"
-});
diff --git a/javascript/app/components/type-signature.js b/javascript/app/components/type-signature.js
deleted file mode 100644
index 8e7545f..0000000
--- a/javascript/app/components/type-signature.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import Ember from 'ember';
-export default Ember.Component.extend({
- tagName : "span",
- expandTypeSynonyms: false,
- expandTypeSynonymsLabel : Ember.computed('expandTypeSynonyms',function() {
- return this.get('expandTypeSynonyms') ? "Show type synonyms" : "Expand type synonyms";
- }),
- components : Ember.computed('type','expandTypeSynonyms',function() {
- if(this.get('expandTypeSynonyms') && this.get('type.componentsExpanded')) {
- return this.get('type.componentsExpanded');
- } else {
- return this.get('type.components');
- }
- }),
- typeObserver : Ember.observer('type',function() {
- this.set('expandTypeSynonyms',false);
- }),
- actions : {
- toggleExpandTypeSynonyms () {
- this.toggleProperty('expandTypeSynonyms');
- }
- }
-});
diff --git a/javascript/app/controllers/application.js b/javascript/app/controllers/application.js
deleted file mode 100644
index 2936011..0000000
--- a/javascript/app/controllers/application.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import {updateColorThemeCss,themes} from '../utils/color-themes';
-import Ember from 'ember';
-
-export default Ember.Controller.extend({
- settings : Ember.inject.service('settings'),
- themes: Object.values(themes),
- init() {
- this._super(...arguments);
- updateColorThemeCss(this.get('settings').get('colorTheme'));
- },
- currentTheme: Ember.computed('settings',function() {
- return this.get('settings.colorTheme.id');
- }),
- actions : {
- themeChanged (themeId) {
- const theme = themes[themeId];
- this.get('settings').set('colorTheme',theme);
- updateColorThemeCss(theme);
- }
- }
-});
diff --git a/javascript/app/controllers/package.js b/javascript/app/controllers/package.js
deleted file mode 100644
index d986835..0000000
--- a/javascript/app/controllers/package.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../utils/go-to-definition';
-import {urls} from '../utils/api-urls';
-
-export default Ember.Controller.extend({
- store : Ember.inject.service('store'),
- currentFile : null,
- loadItemsFunction : null,
- query : null,
- searchMode : "currentPackage",
- createSearchUrlFunction : Ember.computed("searchMode","model",function() {
- const packageId = this.get('model.id');
- if(this.get('searchMode') === "currentPackage") {
- return (query) => urls.identifierSearchUrl(packageId,query);
- } else {
- return (query) => urls.globalIdentifiersUrl(query);
- }
- }),
- actions : {
- searchIdentifier (query) {
- if(query) {
- this.set('currentFile',null);
- document.title = this.get('model.id');
- if(this.get('searchMode') === "currentPackage") {
- this.transitionToRoute('package.search',query);
- } else {
- this.transitionToRoute('search',query);
- }
- }
- },
- showIdentifier (identifierInfo) {
- goToDefinition(this.get('store'),
- identifierInfo.locationInfo,
- 1,//left mouse button
- null);
- return false;
- }
- }
-});
diff --git a/javascript/app/controllers/package/index.js b/javascript/app/controllers/package/index.js
deleted file mode 100644
index dabb196..0000000
--- a/javascript/app/controllers/package/index.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import Ember from 'ember';
-export default Ember.Controller.extend({
- modulesFiltered : Ember.computed('model','query',function () {
- const query = this.get('query');
- const modules = Object.keys(this.get('model.modules')).sort();
- if(query) {
- const regExp = new RegExp(query,"i");
- return modules.filter((p) => p.search(regExp) != -1);
- } else {
- return modules;
- }
- })
-});
-
diff --git a/javascript/app/controllers/package/search.js b/javascript/app/controllers/package/search.js
deleted file mode 100644
index 159b79a..0000000
--- a/javascript/app/controllers/package/search.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../../utils/go-to-definition';
-
-export default Ember.Controller.extend({
- store : Ember.inject.service('store'),
- actions : {
- goToDefinition (locationInfo,event) {
- goToDefinition(this.get('store'),
- locationInfo,
- event.which,
- null);
- return false;
- }
- }
-});
diff --git a/javascript/app/controllers/package/show/file.js b/javascript/app/controllers/package/show/file.js
deleted file mode 100644
index b046bc2..0000000
--- a/javascript/app/controllers/package/show/file.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import Ember from 'ember';
-export default Ember.Controller.extend({
- settings : Ember.inject.service('settings'),
- actions : {
- findReferences(packageId,externalId,occName,locationInfo) {
- this.send('updateReferences',packageId,externalId,occName,locationInfo);
- }
- }
-});
diff --git a/javascript/app/controllers/packages.js b/javascript/app/controllers/packages.js
deleted file mode 100644
index 5c34eb2..0000000
--- a/javascript/app/controllers/packages.js
+++ /dev/null
@@ -1,30 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../utils/go-to-definition';
-
-export default Ember.Controller.extend({
- store : Ember.inject.service('store'),
- queryObserver : Ember.observer("query",function() {
- Ember.run.debounce(this, () => {
- const regExp = new RegExp(this.get('query'),"i");
- const packages = this.get('model').filter((p) => p.name.search(regExp) != -1);
- Ember.run.next(() => {
- this.set('packages',packages);
- });
- }, 300);
- }),
- actions: {
- searchIdentifier (query) {
- if(query) {
- document.title = "Haskell code explorer";
- this.transitionToRoute('search',query);
- }
- },
- showIdentifier (identifierInfo) {
- goToDefinition(this.get('store'),
- identifierInfo.locationInfo,
- 1,//left mouse button
- null);
- return false;
- }
- }
-});
diff --git a/javascript/app/controllers/search.js b/javascript/app/controllers/search.js
deleted file mode 100644
index 7ba7d92..0000000
--- a/javascript/app/controllers/search.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import Ember from 'ember';
-import {goToDefinition} from '../utils/go-to-definition';
-
-export default Ember.Controller.extend({
- store : Ember.inject.service('store'),
- actions : {
- goToDefinition (locationInfo,event) {
- goToDefinition(this.get('store'),
- locationInfo,
- event.which,
- null);
- return false;
- },
- searchIdentifier (query) {
- if(query) {
- document.title = "Haskell code explorer";
- this.transitionToRoute('search',query);
- }
- },
- showIdentifier (identifierInfo) {
- goToDefinition(this.get('store'),
- identifierInfo.locationInfo,
- 1,//left mouse button
- null);
- return false;
- }
- }
-});
diff --git a/javascript/app/helpers/.gitkeep b/javascript/app/helpers/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/javascript/app/helpers/.gitkeep
+++ /dev/null
diff --git a/javascript/app/index.html b/javascript/app/index.html
deleted file mode 100644
index 2be0d64..0000000
--- a/javascript/app/index.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>Haskell Code Explorer</title>
- <meta name="description" content="Haskell Code Explorer">
- <meta name="google" content="notranslate">
- <meta name="viewport" content="width=device-width, initial-scale=0.6">
- {{content-for 'head'}}
- <link rel="stylesheet" href="/assets/vendor.css">
- <link rel="stylesheet" href="/assets/haskell-code-explorer.css">
- {{content-for 'head-footer'}}
- </head>
- <body>
- {{content-for 'body'}}
- <script pace-src="/assets/vendor.js"></script>
- <script pace-src="/assets/haskell-code-explorer.js"></script>
- {{content-for 'body-footer'}}
- <noscript>You need to enable JavaScript to run this app.</noscript>
- </body>
-</html>
diff --git a/javascript/app/router.js b/javascript/app/router.js
deleted file mode 100644
index 7b8df63..0000000
--- a/javascript/app/router.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import Ember from 'ember';
-import config from './config/environment';
-
-var Router = Ember.Router.extend({
- location: config.locationType
-});
-
-Router.map(function() {
- this.route('packages',{path:''});
- this.route('search',{path:'/search/:query'});
- this.route('package', {path:'/package/:packageId'}, function() {
- this.route('show',function() {
- this.route('file', {path:'*filePath'}, function() {
- });
- });
- this.route('search',{path:'/search/:query'});
- });
- this.route('bad-url', { path: '/*badurl' });
-});
-
-export default Router;
diff --git a/javascript/app/routes/application.js b/javascript/app/routes/application.js
deleted file mode 100644
index 279bd32..0000000
--- a/javascript/app/routes/application.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Ember from 'ember';
-export default Ember.Route.extend({
-});
diff --git a/javascript/app/routes/package.js b/javascript/app/routes/package.js
deleted file mode 100644
index 6abc603..0000000
--- a/javascript/app/routes/package.js
+++ /dev/null
@@ -1,49 +0,0 @@
-import Ember from 'ember';
-import {urls} from '../utils/api-urls';
-
-export default Ember.Route.extend({
- store : Ember.inject.service('store'),
- model (params) {
- return this.get('store').loadPackage(params.packageId)
- .catch((e) => {console.log(e);this.transitionTo("/package-not-found");});
- },
- setupController(controller, model) {
- this._super(controller, model);
- controller.set('bottomPanelVisible',false);
- },
- actions : {
- openFile (filePath) {
- this.transitionTo('package.show.file',filePath);
- },
- fileOpened (filePath) {
- if(this.get('controller')) {
- this.set('controller.currentFile',filePath);
- }
- },
- updateReferences(packageId,externalId,occName,locationInfo,noScrollIntoView) {
- this.get('store').loadGlobalReferences(externalId).then((refs) => {
- Ember.run.next(this,() => {
- this.set('controller.globalReferences',refs);
- if(!noScrollIntoView) {
- Ember.run.schedule('afterRender', () => {
- const element = document.getElementById('references-package-'+packageId);
- if(element) {
- element.scrollIntoView();
- }
- });
- }
- });
- });
- this.set('controller.packageId',packageId);
- this.set('controller.externalId',externalId);
- this.set('controller.occName',occName);
- this.set('controller.locationInfo',locationInfo);
- this.set('controller.bottomPanelVisible',true);
- this.set('controller.referencesUrl',urls.referencesUrl(packageId,externalId)+"?per_page=50");
- },
- didTransition() {
- document.title = this.currentModel.id;
- return true;
- }
- }
-});
diff --git a/javascript/app/routes/package/index.js b/javascript/app/routes/package/index.js
deleted file mode 100644
index 15ff8a5..0000000
--- a/javascript/app/routes/package/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import Ember from 'ember';
-
-export default Ember.Route.extend({
- afterModel : function (model,transition) {
- transition.send("fileOpened",null);
- }
-});
diff --git a/javascript/app/routes/package/search.js b/javascript/app/routes/package/search.js
deleted file mode 100644
index 058f9ec..0000000
--- a/javascript/app/routes/package/search.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import Ember from 'ember';
-import {urls} from '../../utils/api-urls';
-import {goToDefinition} from '../../utils/go-to-definition';
-
-export default Ember.Route.extend({
- store : Ember.inject.service('store'),
- model (params) {
- return {
- query: params.query,
- url: urls.identifierSearchUrl(this.modelFor('package').id,params.query)+"?per_page=20"
- };
- },
- afterModel () {
- const onmouseup = (event) => {
- // This makes links in documentation clickable
- if(event.target.dataset.location) {
- let location;
- try {
- location = JSON.parse(event.target.dataset.location);
- } catch (e) {
- console.log(e);
- }
- if(location) {
- goToDefinition(this.get('store'),location,event.which);
- }
- }
- };
- this._onmouseup = onmouseup;
- document.addEventListener('mouseup',onmouseup);
- },
- deactivate() {
- if(this._onmouseup) {
- document.removeEventListener('mouseup',this._onmouseup);
- }
- }
-});
diff --git a/javascript/app/routes/package/show/file.js b/javascript/app/routes/package/show/file.js
deleted file mode 100644
index 568d288..0000000
--- a/javascript/app/routes/package/show/file.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import Ember from 'ember';
-
-export default Ember.Route.extend({
- store : Ember.inject.service(),
- model : function (params) {
- const packageInfo = this.modelFor('package');
- if(packageInfo.modules[params.filePath]) {
- return this.get('store').loadHaskellModule(packageInfo.id,params.filePath)
- .catch((e) => {console.log(e);this.transitionTo("/not-found");});
- } else {
- return this.get('store').loadFile(packageInfo.id,params.filePath)
- .then((result) => {
- document.title = packageInfo.id;
- return result;
- })
- .catch((e) => {console.log(e);this.transitionTo("/not-found");});
- }
- },
- afterModel (model) {
- document.title = model.id + " - " + this.modelFor('package').id;
- },
- actions : {
- didTransition : function () {
- this.send("fileOpened",this.currentModel.id);
- }
- }
-});
diff --git a/javascript/app/routes/package/show/index.js b/javascript/app/routes/package/show/index.js
deleted file mode 100644
index 15ff8a5..0000000
--- a/javascript/app/routes/package/show/index.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import Ember from 'ember';
-
-export default Ember.Route.extend({
- afterModel : function (model,transition) {
- transition.send("fileOpened",null);
- }
-});
diff --git a/javascript/app/routes/packages.js b/javascript/app/routes/packages.js
deleted file mode 100644
index 34a454d..0000000
--- a/javascript/app/routes/packages.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import Ember from 'ember';
-import {urls} from '../utils/api-urls';
-import config from '../config/environment';
-
-export default Ember.Route.extend({
- model () {
- return Ember.$.getJSON(urls.packagesUrl);
- },
- setupController(controller, model) {
- this._super(controller, model);
- controller.set('packages',model);
- controller.set('createSearchUrlFunction',(query) => {
- return urls.globalIdentifiersUrl(query);
- });
- },
- afterModel () {
- document.title = config.APP.title;
- }
-});
diff --git a/javascript/app/routes/search.js b/javascript/app/routes/search.js
deleted file mode 100644
index 3ad8905..0000000
--- a/javascript/app/routes/search.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import Ember from 'ember';
-import {urls} from '../utils/api-urls';
-import {goToDefinition} from '../utils/go-to-definition';
-
-export default Ember.Route.extend({
- store : Ember.inject.service('store'),
- model (params) {
- return {
- query: params.query,
- url: urls.globalIdentifiersUrl(params.query)+"?per_page=20"
- };
- },
- setupController(controller, model) {
- this._super(controller, model);
- controller.set('createSearchUrlFunction',(query) => {
- return urls.globalIdentifiersUrl(query);
- });
- },
- afterModel () {
- const onmouseup = (event) => {
- // This makes links in documentation clickable
- if(event.target.dataset.location) {
- let location;
- try {
- location = JSON.parse(event.target.dataset.location);
- } catch (e) {
- console.log(e);
- }
- if(location) {
- goToDefinition(this.get('store'),location,event.which);
- }
- }
- };
- this._onmouseup = onmouseup;
- document.addEventListener('mouseup',onmouseup);
- },
- deactivate() {
- if(this._onmouseup) {
- document.removeEventListener('mouseup',this._onmouseup);
- }
- }
-});
diff --git a/javascript/app/services/settings.js b/javascript/app/services/settings.js
deleted file mode 100644
index 8080890..0000000
--- a/javascript/app/services/settings.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import Ember from 'ember';
-import {themes} from '../utils/color-themes';
-
-export default Ember.Service.extend({
- init() {
- this._super(...arguments);
- if(localStorage) {
- const colorThemeId = localStorage.getItem("colorThemeId");
- const colorTheme = themes[colorThemeId];
- if(colorThemeId) {
- this.set('colorTheme',colorTheme);
- }
- }
- },
- colorTheme : themes["darkTheme"],
- settingsObserver : Ember.observer("colorTheme",function() {
- if(localStorage) {
- localStorage.setItem("colorThemeId",this.get('colorTheme').id);
- }
- })
-});
diff --git a/javascript/app/services/store.js b/javascript/app/services/store.js
deleted file mode 100644
index 39a6f74..0000000
--- a/javascript/app/services/store.js
+++ /dev/null
@@ -1,168 +0,0 @@
-import Ember from 'ember';
-import RSVP from 'rsvp';
-import {urls} from '../utils/api-urls';
-
-
-//********************************************************************************
-//https://coderwall.com/p/zrlulq/parsing-a-link-header-in-javascript
-function unquote(value) {
- if (value.charAt(0) == '"' && value.charAt(value.length - 1) == '"') {
- return value.substring(1, value.length - 1);
- } else {
- return value;
- }
-}
-
-function parseLinkHeader(header) {
- if(!header) {return {}}
- var linkexp = /<[^>]*>\s*(\s*;\s*[^\(\)<>@,;:"\/\[\]\?={} \t]+=(([^\(\)<>@,;:"\/\[\]\?={} \t]+)|("[^"]*")))*(,|$)/g;
- var paramexp = /[^\(\)<>@,;:"\/\[\]\?={} \t]+=(([^\(\)<>@,;:"\/\[\]\?={} \t]+)|("[^"]*"))/g;
-
- var matches = header.match(linkexp);
- var rels = new Object();
- for (let i = 0; i < matches.length; i++) {
- var split = matches[i].split('>');
- var href = split[0].substring(1);
- var ps = split[1];
- var link = new Object();
- link.href = href;
- var s = ps.match(paramexp);
- for (let j = 0; j < s.length; j++) {
- var p = s[j];
- var paramsplit = p.split('=');
- var name = paramsplit[0];
- link[name] = unquote(paramsplit[1]);
- }
-
- if (link.rel != undefined) {
- rels[link.rel] = link;
- }
- }
- return rels;
-}
-//********************************************************************************
-
-
-export default Ember.Service.extend({
- init() {
- this.packages = {};
- this.files = {};
- this.haskellModules = {};
- this.definitionSites = {};
- this.modulePaths = {};
- this.expressions = {};
- this.references = {};
- this.globalReferences = {};
- this.hoogleDocs = {};
- },
- loadPackage(packageId) {
- const packageInfo = this.packages[packageId];
- if(packageInfo) {
- return new RSVP.Promise((resolve) => {resolve(packageInfo);});
- } else {
- const url = urls.packageInfoUrl(packageId);
- return Ember.$.getJSON(url).then((packageInfo) => {
- this.packages[packageId] = packageInfo;
- return packageInfo;
- });
- }
- },
- loadFile(packageId,filePath) {
- const fileId = packageId + "/" + filePath;
- const file = this.files[fileId];
- if(file) {
- return new RSVP.Promise((resolve) => {resolve(file);});
- } else {
- const url = urls.fileUrl(packageId,filePath);
- return Ember.$.get({url:url,dataType:"text"}).then((text) => {
- const file = {};
- file.text = text;
- file.packageId = packageId;
- file.isHaskellModule = false;
- file.id = filePath;
- this.files[fileId] = file;
- return file;
- });
- }
- },
- loadHaskellModule(packageId,filePath) {
- const moduleId = packageId + "/" + filePath ;
- const module = this.haskellModules[moduleId];
- if(module) {
- return new RSVP.Promise((resolve)=>{resolve(module);});
- } else {
- const url = urls.haskellModuleUrl(packageId,filePath);
- return Ember.$.getJSON(url).then((module) => {
- module.packageId = packageId;
- module.isHaskellModule = true;
- this.haskellModules[moduleId] = module;
- return module;
- });
- }
- },
- loadDefinitionSite(packageId,moduleName,componentId,entity,name) {
- const id = packageId + "/"+ componentId + "/" + moduleName + "/" + entity + "/" + name;
- const definitionSite = this.definitionSites[id];
- if(definitionSite) {
- return new RSVP.Promise((resolve)=>{resolve(definitionSite);});
- } else {
- const url = urls.identifierDefinitionSiteUrl(packageId,moduleName,componentId,entity,name);
- return Ember.$.getJSON(url).then((definitionSite) => {
- this.definitionSites[id] = definitionSite;
- return definitionSite;
- });
- }
- },
- loadExpressions(packageId,modulePath,lineStart,columnStart,lineEnd,columnEnd) {
- const id = packageId + "/" + encodeURIComponent(modulePath)
- + "/" + lineStart + "/" + columnStart + "/" + lineEnd + "/" + columnEnd;
- const exprs = this.expressions[id];
- if(exprs) {
- return new RSVP.Promise((resolve)=>{resolve(exprs);});
- } else {
- const url = urls.expressionsUrl(packageId,modulePath,lineStart,columnStart,lineEnd,columnEnd);
- return Ember.$.getJSON(url).then((exprs) => {
- this.expressions[id] = exprs;
- return exprs;
- });
- }
- },
- loadFromUrlPaginated(url) {
- return Ember.$.getJSON(url).then((items,textStatus,jqXHR) => {
- const linkHeaderText = jqXHR.getResponseHeader('Link');
- const totalCountHeaderText = jqXHR.getResponseHeader('x-total-count');
- const linkHeader = parseLinkHeader(linkHeaderText);
- const total = parseInt(totalCountHeaderText);
- return {
- items:items,
- total:total,
- linkHeader:linkHeader
- };
- });
- },
- loadGlobalReferences(externalId) {
- const globalReferences = this.globalReferences[externalId];
- if(globalReferences) {
- return new RSVP.Promise((resolve) => {resolve(globalReferences);});
- } else {
- const url = urls.globalReferencesUrl(externalId);
- return Ember.$.getJSON(url).then((refs) => {
- this.globalReferences[externalId] = refs;
- return refs;
- });
- }
- },
- loadHoogleDocs(packageId,moduleName,entity,name) {
- const id = packageId + "/" + moduleName + "/" + entity + "/" + name;
- const hoogleDoc = this.hoogleDocs[id];
- if(hoogleDoc) {
- return new RSVP.Promise((resolve)=>{resolve(hoogleDoc);});
- } else {
- const url = urls.hoogleDocsUrl(packageId,moduleName,entity,name);
- return Ember.$.getJSON(url).then((hoogleDoc) => {
- this.hoogleDocs[id] = hoogleDoc;
- return hoogleDoc;
- });
- }
- }
-});
diff --git a/javascript/app/styles/app.scss b/javascript/app/styles/app.scss
deleted file mode 100644
index 68fbe2a..0000000
--- a/javascript/app/styles/app.scss
+++ /dev/null
@@ -1,589 +0,0 @@
-@import "ember-cli-bootstrap-4/bootstrap";
-
-body {
- font-size:14px;
-}
-
-a, a:visited, a:focus, a:active, a:hover{
- outline:0 none;
-}
-
-a.selected {
- text-decoration:underline;
-}
-
-input:focus{
- outline:none;
-}
-
-p {
- margin-top:1rem;
-}
-
-.ember-radio-button {
- cursor:pointer;
-}
-
-label {
- margin-bottom:0px;
-}
-
-ul {
- list-style: none;
- padding : 0;
-}
-
-ol {
- list-style: none;
- padding : 0;
-}
-
-li {
- list-style: none;
-}
-
-.documentation {
- margin-top:10px;
- li {
- list-style: disc outside none;
- }
- ul {
- padding-left:15px;
- }
- ol {
- padding-left:15px;
- }
-}
-
-.flex-container {
- display:flex;
- flex-direction:column;
- height:100%;
- width:100%;
-}
-
-.absolute-container {
- position:absolute;
- top:0;
- bottom:0;
- left:0;
- right:0;
-}
-
-.header {
- flex: none;
- padding:5px;
- img {
- float:left;
- }
-}
-
-.header-item {
- display:inline-block;
- margin-top:5px;
- font-size : 1rem;
- margin-right: 40px;
- white-space: nowrap;
- @media screen and (max-width: 700px) {
- margin-right: 10px;
- margin-left: 10px;
- }
-}
-
-.content {
- flex: auto;
- position:relative;
- overflow:auto;
-}
-
-.packages {
- flex:auto;
- overflow-y:auto;
- li {
- margin-bottom: 5px;
- }
- a {
- margin-right:5px;
- }
-}
-
-.package-content {
- flex:auto;
- position:relative;
-}
-
-.package-header {
- padding:5px;
-}
-
-.package-header-input {
- display:inline-block;
- margin-right:10px;
-}
-
-.package-modules {
- margin-left:10px;
-}
-
-.module-name {
- font-size:0.7rem;
-}
-
-.package-search-form {
- max-width:500px;
- margin-bottom:10px;
- margin-top:20px;
-}
-
-.global-identifier-search-form {
- max-width:500px;
- margin-top:20px;
-}
-
-.package-header-filename {
- white-space: nowrap;
- margin-left: 35px;
-}
-
-.package-header-package-name {
- margin-right:10px;
- font-size:17px;
-}
-
-.module-search-input {
- max-width:500px;
- margin:5px;
-}
-
-ul.modules {
- position:absolute;
- top:50px;
- bottom:0px;
- margin:0px;
- padding-left:15px;
- left:0px;
- right:0px;
- display:flex;
- flex-direction: column;
- flex-wrap: wrap;
- li {
- margin-right: 10px;
- }
- overflow-x:auto;
-}
-
-.left-panel {
- position: absolute;
- bottom : 0;
- top : 0;
- left : 0;
- width : 300px;
-}
-
-.show-left-panel-button {
- position:absolute;
- top:0px;
- right:-20px;
- z-index:2;
- width:20px;
- height:20px;
- text-align:center;
- vertical-align:middle;
- a {
- text-decoration:none;
- }
- opacity:0.6;
- display:none;
-}
-
-.show-left-panel-button:hover {
- opacity:1;
- cursor:pointer;
-}
-
-.hide-file-tree {
- position: relative;
- top: 8px;
- left: 3px;
-}
-
-.hide-declarations {
- margin:7px;
-}
-
-.right-panel {
- position: absolute;
- bottom : 0;
- top : 0;
- right : 0;
- left : 300px;
- overflow-x: auto;
- overflow-y: auto;
-}
-
-.file-tree-container {
- overflow-x: hidden;
- overflow-y: auto;
- position: absolute;
- bottom : 0;
- top : 0;
- left: 0;
- right: 0;
-}
-
-.file-container {
- position: absolute;
- bottom : 0px;
- top : 0;
- right : 0;
- left : 0;
- overflow-x: auto;
- overflow-y: auto;
-}
-
-.bottom-panel {
- display:none;
- position: absolute;
- bottom : 0;
- right : 0;
- left : 0;
- overflow-x: auto;
- overflow-y: auto;
- z-index:4;
-}
-
-.bottom-panel-header {
- position: absolute;
- top: 0;
- right : 0;
- left : 0;
- height: 35px;
- padding: 5px;
-}
-
-.bottom-panel-content {
- position: absolute;
- bottom : 0;
- top : 35px;
- right : 0;
- left : 0;
- overflow-x: auto;
- overflow-y: auto;
-}
-
-.bottom-panel-header-options {
- float:right;
-}
-
-.bottom-panel-header-content {
- white-space:nowrap;
-}
-
-.highlighted-identifier {
- border-radius: 3px;
- box-shadow: 0 0 0 1px #B4B4B4;
-}
-
-.identifier {
- cursor:pointer;
-}
-
-td.line-number {
- cursor:pointer;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none;
- width: 1%;
- min-width: 60px;
- text-align: left;
- padding-left:10px;
- opacity: 0.8;
-}
-
-td.line-number:hover {
- opacity : 1;
-}
-
-td.line-content {
- padding-left:5px;
-
-}
-
-$source-code-font:Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;
-
-.source-code {
- font-family: $source-code-font;
- white-space:pre;
- line-height:1.25;
- tab-size: 4;
-}
-
-.break-word {
- word-wrap:break-word;
-}
-
-code,pre {
- font-family: $source-code-font !important;
- white-space:pre;
- line-height:1.25;
- font-size:100%;
- color : unset;
-}
-
-.source-code-font {
- font-family: $source-code-font;
- line-height:1.25;
-}
-
-.source-code-snippet {
- padding: 4px;
- text-decoration:none !important;
- display:block;
-}
-
-.source-code-snippet > b {
- border-radius: 3px;
- border: 1px solid #B4B4B4;
- margin: -1px;
-}
-
-.source-code-snippet:hover {
- text-decoration:none;
-}
-
-.source-code-container {
- margin : 5px;
-}
-
-.declarations {
- position:fixed;
- top:150px;
- right:15px;
- width: 450px;
- z-index:1;
- div {
- margin : 5px;
- }
-}
-
-.declarations-header {
- opacity:0.9;
- height:50px;
-}
-
-.declarations-content {
- opacity:0.9;
- position:absolute;
- top:50px;
- left:0px;
- right:0px;
- max-height:500px;
- overflow-y:auto;
- overflow-x:hidden;
-}
-
-@media screen and (max-width: 1500px) {
- .declarations {
- display:none;
- }
-}
-
-.info-window-container {
- position:absolute;
- width:750px;
- z-index:10;
-}
-
-.info-window-header {
- margin:5px;
- width: 100%;
- cursor: move;
- cursor: grab;
- cursor: -moz-grab;
- cursor: -webkit-grab;
-}
-
-.info-window-content {
- max-height:200px;
- overflow-x:auto;
- overflow-y:auto;
-}
-
-.info-window-options {
- margin-right:10px;
- margin-left:10px;
- float:right;
-}
-
-
-.ui-draggable-dragging .info-window-header {
- cursor: grabbing;
- cursor: -moz-grabbing;
- cursor: -webkit-grabbing;
-}
-
-span.link {
- cursor:pointer;
- white-space:nowrap;
-}
-
-span.link:hover {
- text-decoration:underline;
-}
-
-.ui-resizable-n {
- height: 13px !important;;
-}
-
-.ui-resizable-w {
- width: 13px !important;;
-}
-
-.type-info {
- padding-top: 5px;
- padding-bottom: 5px;
-}
-
-.type-component {
- display: inline-block;
-}
-
-dd {
- margin-left: 1em;
-}
-
-.autocomplete-container {
- position:absolute;
- z-index:10;
- display:none;
- left:0px;
-}
-
-ul.autocomplete-items {
- li {
- cursor:pointer;
- max-height: 200px;
- overflow: hidden;
- }
-}
-
-.autocomplete-item {
- padding:5px;
-}
-
-.file-tree-header {
- position:absolute;
- top:0;
- left:0;
- right:0;
- height:65px;
- margin:5px;
-}
-
-.file-tree-content {
- position:absolute;
- top:70px;
- left:0;
- right:0;
- bottom:0;
- overflow-x:auto;
- overflow-x:auto;
-}
-
-button {
- color:black;
-}
-
-.paginated-list-header {
- position:absolute;
- top:0px;
- left:0px;
- right:0px;
- height:40px;
- padding: 5px;
- white-space:nowrap;
-}
-
-.paginated-list-content {
- position:absolute;
- top:40px;
- bottom:0px;
- left:0px;
- right:0px;
- overflow:auto;
-}
-
-.pagination-button {
- font-size: 10px;
-}
-
-.search-results-header {
- position:absolute;
- top:0px;
- left:0px;
- right:0px;
- height:35px;
- padding: 5px;
- white-space:nowrap;
-}
-
-.search-results-content {
- position:absolute;
- top:35px;
- bottom:0px;
- left:0px;
- right:0px;
-}
-
-.global-search-results-content {
- position:absolute;
- top:80px;
- bottom:0px;
- left:0px;
- right:0px;
-}
-
-.search-result {
- padding:5px;
-}
-
-.expression {
- margin-bottom:15px;
-}
-
-.expressions {
- margin:5px;
-}
-
-.file-name {
- margin-left:5px;
-}
-
-.identifier-info {
- margin:5px;
-}
-
-.identifier-module {
- margin-top:10px;
-}
-
-.identifier-menu-item {
- margin-right:10px;
-}
-
-.references-packages {
- position:absolute;
- width:230px;
- top:0px;
- bottom:0px;
- overflow:auto;
- padding:5px;
-}
-.references {
- position:absolute;
- left:230px;
- top:0px;
- bottom:0px;
- right:0px;
-}
diff --git a/javascript/app/templates/application.hbs b/javascript/app/templates/application.hbs
deleted file mode 100644
index bd64fdb..0000000
--- a/javascript/app/templates/application.hbs
+++ /dev/null
@@ -1,26 +0,0 @@
-<div class="absolute-container">
- <div class="flex-container">
- <div class="header">
- <img src="/assets/haskell.ico">
- <div class="container">
- <span class="header-item">{{#link-to 'packages'}}Haskell packages{{/link-to}}</span>
- <span class="header-item"><a target="_blank" href="https://github.com/alexwl/haskell-code-explorer">About</a></span>
- <span class="header-item">
- {{#each themes as |theme|}}
- {{#radio-button
- value=theme.id
- groupValue=currentTheme
- changed="themeChanged"}}
- <span>{{theme.name}}</span>
- {{/radio-button}}
- {{/each}}
- </span>
- </div>
- </div>
- <div class="content">
- <div class="absolute-container">
- {{outlet}}
- </div>
- </div>
- </div>
-</div>
diff --git a/javascript/app/templates/bad-url.hbs b/javascript/app/templates/bad-url.hbs
deleted file mode 100644
index b7df9c5..0000000
--- a/javascript/app/templates/bad-url.hbs
+++ /dev/null
@@ -1,6 +0,0 @@
-<div class="container">
- <div style="margin-top:10px">
- <h1>Not found</h1>
- <div><a href="/">Main page</a></div>
- </div>
-</div>
diff --git a/javascript/app/templates/components/.gitkeep b/javascript/app/templates/components/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/javascript/app/templates/components/.gitkeep
+++ /dev/null
diff --git a/javascript/app/templates/components/bottom-panel.hbs b/javascript/app/templates/components/bottom-panel.hbs
deleted file mode 100644
index 26b1919..0000000
--- a/javascript/app/templates/components/bottom-panel.hbs
+++ /dev/null
@@ -1,9 +0,0 @@
-<div class="bottom-panel-header">
- <span class="bottom-panel-header-content">{{yield "header"}}</span>
- <span class="bottom-panel-header-options">
- <a href="#" {{action "close"}}>Close</a>
- </span>
-</div>
-<div class="bottom-panel-content">
- {{yield "body"}}
-</div>
diff --git a/javascript/app/templates/components/expression-info.hbs b/javascript/app/templates/components/expression-info.hbs
deleted file mode 100644
index 509fb24..0000000
--- a/javascript/app/templates/components/expression-info.hbs
+++ /dev/null
@@ -1,8 +0,0 @@
-<div class="expressions">
- {{#each expressions as |expression|}}
- <div class="expression">
- <span class="source-code">{{expression.sourceCode}}</span>
- <br/>:: {{type-signature type=expression.info.exprType identifiers=identifiers currentLineNumber=currentLineNumber}}
- </div>
- {{/each}}
-</div>
diff --git a/javascript/app/templates/components/file-tree.hbs b/javascript/app/templates/components/file-tree.hbs
deleted file mode 100644
index 3559efe..0000000
--- a/javascript/app/templates/components/file-tree.hbs
+++ /dev/null
@@ -1,20 +0,0 @@
-<div class="file-tree-header">
- <div class="input-group">
- {{input class="form-control" value=query placeholder="Filename"}}<a class="hide-file-tree" href="#" {{action "hide"}}>Hide</a>
- </div>
- <div>
- {{#radio-button
- value="alphabetical"
- groupValue=sortType}}
- <span>Sort by name</span>
- {{/radio-button}}
- {{#radio-button
- value="type"
- groupValue=sortType}}
- <span>Sort by type</span>
- {{/radio-button}}
- </div>
-</div>
-<div class="file-tree-content">
- <div class="file-tree"></div>
-</div>
diff --git a/javascript/app/templates/components/haskell-module.hbs b/javascript/app/templates/components/haskell-module.hbs
deleted file mode 100644
index 6f1d0f5..0000000
--- a/javascript/app/templates/components/haskell-module.hbs
+++ /dev/null
@@ -1,57 +0,0 @@
-<div class="source-code-container"></div>
-{{#if declarations}}
- <div class="declarations">
- <div class="declarations-header">
- <div class="input-group">
- {{input class="form-control" value=query placeholder="Identifier"}}<a class="hide-declarations" href="#" {{action "toggleShowDeclarations"}}>{{showDeclarationsLabel}}</a>
- </div>
- </div>
- {{#if showDeclarations}}
- <div id="declarations-content" class="declarations-content">
- <ul>
- {{#infinite-list containerElementId="declarations-content" elements=filteredDeclarations perPage=30 as |declaration|}}
- <li class="declaration">
- <div class="declaration">
- <a {{action "goToLine" declaration.lineNumber}} href="#"><span class="source-code-font">{{declaration.name}}{{#if declaration.declType}} :: {{type-signature-text components=declaration.declType.components}}{{/if}}</span>
- </a><span>{{#unless declaration.isExported}}<i>(not exported)</i>{{/unless}}</span>
- </div>
- </li>
- {{/infinite-list}}
- </ul>
- </div>
- {{/if}}
- </div>
-{{/if}}
-{{#info-window
- targetElement=selectedIdentifier
- isHoveredOverIdentifier=isHoveredOverIdentifier
- hasSelectedExpression=hasSelectedExpression
- containerElementId="right-panel" as |section|}}
- {{#if (eq section "header")}}
- {{#if hasSelectedExpression}}
- <div>Selected expressions</div>
- {{else}}
- {{identifier-name
- identifierInfo=identifierInfo
- identifierOccurrence=identifierOccurrence
- identifierElement=selectedIdentifier
- currentPackageId=packageId
- isBinder=identifierOccurrence.isBinder
- currentLineNumber=currentLineNumber
- findReferences=findReferences}}
- {{/if}}
- {{else}}
- {{#unless hasSelectedExpression}}
- {{identifier-info
- identifierInfo=identifierInfo
- identifierOccurrence=identifierOccurrence
- identifiers=identifiers
- currentLineNumber=currentLineNumber}}
- {{else}}
- {{expression-info
- expressions=expressions
- identifiers=identifiers
- currentLineNumber=currentLineNumber}}
- {{/unless}}
- {{/if}}
-{{/info-window}}
diff --git a/javascript/app/templates/components/identifier-info.hbs b/javascript/app/templates/components/identifier-info.hbs
deleted file mode 100644
index 7146a2e..0000000
--- a/javascript/app/templates/components/identifier-info.hbs
+++ /dev/null
@@ -1,39 +0,0 @@
-{{#if (or identifierInfo identifierOccurrence.idOccType)}}
- <div class="identifier-info">
- {{#if identifierInfo}}
- {{#if isNaughtyRecSel}}
- <i>This record selector can never be called because its type mentions a type variable that isn't in the result type of the constructor</i>
- {{else}}
- {{type-signature
- type=identifierInfo.idType
- identifiers=identifiers
- currentLineNumber=currentLineNumber}}
- {{/if}}
- {{/if}}
- {{#if (and identifierInfo identifierOccurrence identifierOccurrence.idOccType)}}
- <div style="height:10px"></div>
- {{/if}}
- {{#if (and identifierOccurrence identifierOccurrence.idOccType)}}
- {{type-signature
- type=identifierOccurrence.idOccType
- identifiers=identifiers
- currentLineNumber=currentLineNumber}}
- {{/if}}
- <div class="documentation">
- {{{identifierInfo.doc}}}
- {{{downloadedDocumentation}}}
- </div>
- {{#if identifierOccurrence.instanceResolution}}
- <div style="height:10px"></div>
- {{/if}}
- <div>
- {{#if identifierOccurrence.instanceResolution}}
- {{instance-info
- instance=identifierOccurrence.instanceResolution
- identifiers=identifiers
- nestedLevel=0
- currentLineNumber=currentLineNumber}}
- {{/if}}
- </div>
- </div>
-{{/if}}
diff --git a/javascript/app/templates/components/identifier-name.hbs b/javascript/app/templates/components/identifier-name.hbs
deleted file mode 100644
index 4f7b764..0000000
--- a/javascript/app/templates/components/identifier-name.hbs
+++ /dev/null
@@ -1,12 +0,0 @@
-<div>
- <span class="source-code-font break-word identifier-menu-item" style={{style}}>{{#if identifierInfo.demangledOccName}}{{identifierInfo.demangledOccName}}{{else}}{{name}}{{/if}}</span>
- {{#unless isBinder}}
- {{#if location}}
- <span class="identifier-menu-item">{{location}}</span>
- <span class="link identifier-menu-item" onmouseup={{action "goToDefinition"}}>Go to definition</span>
- {{/if}}
- {{/unless}}
- {{#if isExternalIdentifier}}
- <span class="link identifier-menu-item" onmouseup={{action "findReferences" identifierInfo currentPackageId}}>Find references</span>
- {{/if}}
-</div>
diff --git a/javascript/app/templates/components/infinite-list.hbs b/javascript/app/templates/components/infinite-list.hbs
deleted file mode 100644
index ab103d4..0000000
--- a/javascript/app/templates/components/infinite-list.hbs
+++ /dev/null
@@ -1,3 +0,0 @@
-{{#each renderedElements as |element|}}
- {{yield element}}
-{{/each}}
diff --git a/javascript/app/templates/components/info-window.hbs b/javascript/app/templates/components/info-window.hbs
deleted file mode 100644
index 003e2c5..0000000
--- a/javascript/app/templates/components/info-window.hbs
+++ /dev/null
@@ -1,12 +0,0 @@
-<div class="info-window">
- <div class="info-window-header">
- <div class="info-window-options">
- <a href="#" {{action "pin"}}>{{#if isPinned}}Unpin{{else}}Pin{{/if}}</a>
- <a href="#" {{action "close"}}>Close</a>
- </div>
- {{yield "header"}}
- </div>
- <div class="info-window-content">
- {{yield "body"}}
- </div>
-</div>
diff --git a/javascript/app/templates/components/input-with-autocomplete.hbs b/javascript/app/templates/components/input-with-autocomplete.hbs
deleted file mode 100644
index 1a73c07..0000000
--- a/javascript/app/templates/components/input-with-autocomplete.hbs
+++ /dev/null
@@ -1,19 +0,0 @@
-<div class="input-group">
- {{input class="form-control search-input" value=query placeholder=placeholder}}
- <div class="autocomplete-container">
- {{# if items}}
- <ul class="autocomplete-items">
- {{#each items as |item index|}}
- <li class="{{if (eq index highlightedItemIndex) "highlighted"}}" onclick={{action "goToDefinition" item}}>
- <div class="autocomplete-item">
- {{yield item}}
- </div>
- </li>
- {{/each}}
- </ul>
- {{/if}}
- </div>
- <div class="input-group-append">
- <button id="search-input" class="btn btn-outline-secondary" {{action "onSubmit" query}}>{{searchButtonText}}</button>
- </div>
-</div>
diff --git a/javascript/app/templates/components/instance-info.hbs b/javascript/app/templates/components/instance-info.hbs
deleted file mode 100644
index b5c2fdf..0000000
--- a/javascript/app/templates/components/instance-info.hbs
+++ /dev/null
@@ -1,10 +0,0 @@
-{{#if instance}}
- <div style={{style}}>
- <span class="source-code-font">
- instance {{type-signature type=instance.instanceType identifiers=identifiers currentLineNumber=currentLineNumber noExpand=true}}</span>
- (<span class="link" onclick={{action "goToDefinition"}}>Go to definition</span>)
- {{#each instance.instances as |inst|}}
- {{instance-info instance=inst identifiers=identifiers nestedLevel=nextNestedLevel currentLineNumber=currentLineNumber}}
- {{/each}}
- </div>
-{{/if}}
diff --git a/javascript/app/templates/components/paginated-list.hbs b/javascript/app/templates/components/paginated-list.hbs
deleted file mode 100644
index 5184e07..0000000
--- a/javascript/app/templates/components/paginated-list.hbs
+++ /dev/null
@@ -1,17 +0,0 @@
-<div class="paginated-list-header">
- <span>Found {{total}} {{{foundWhere}}}</span>
- {{#if (or next prev)}}
- &nbsp;
- &nbsp;
- <span>
- {{#if first}}<button class="btn btn-outline-secondary btn-sm" {{action "update" first.href}}>&lt;&lt;</button>{{/if}}
- {{#if prev}}<button button class="btn btn-outline-secondary btn-sm" {{action "update" prev.href}}>&lt;</button>{{/if}}
- {{firstItemOnPage}} - {{lastItemOnPage}}
- {{#if next}}<button button class="btn btn-outline-secondary btn-sm" {{action "update" next.href}}>&gt;</button>{{/if}}
- {{#if last}}<button button class="btn btn-outline-secondary btn-sm" {{action "update" last.href}}>&gt;&gt;</button>{{/if}}
- </span>
- {{/if}}
-</div>
-<div class="paginated-list-content">
- {{yield items}}
-</div>
diff --git a/javascript/app/templates/components/resizable-panel.hbs b/javascript/app/templates/components/resizable-panel.hbs
deleted file mode 100644
index 0fd3aa7..0000000
--- a/javascript/app/templates/components/resizable-panel.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-<div class="absolute-container">{{yield (action "hide")}}
- <div onclick={{action "hide"}} class="show-left-panel-button">
- {{{hideButtonLabel}}}
- </div>
-</div>
diff --git a/javascript/app/templates/components/text-file.hbs b/javascript/app/templates/components/text-file.hbs
deleted file mode 100644
index 6a50453..0000000
--- a/javascript/app/templates/components/text-file.hbs
+++ /dev/null
@@ -1,3 +0,0 @@
-<div class="source-code-container">
-{{{html}}}
-</div>
diff --git a/javascript/app/templates/components/type-component.hbs b/javascript/app/templates/components/type-component.hbs
deleted file mode 100644
index 775324e..0000000
--- a/javascript/app/templates/components/type-component.hbs
+++ /dev/null
@@ -1,3 +0,0 @@
-{{#if (and expanded identifierInfo)}}({{/if}}
-<span class="source-code {{linkClass}}" onmouseup={{action "onmouseup"}}>{{occName}}</span>
-{{#if (and expanded identifierInfo)}} :: {{type-signature type=identifierInfo.idType identifiers=identifiers noExpand=true}}){{/if}}
diff --git a/javascript/app/templates/components/type-signature-text.hbs b/javascript/app/templates/components/type-signature-text.hbs
deleted file mode 100644
index 505a466..0000000
--- a/javascript/app/templates/components/type-signature-text.hbs
+++ /dev/null
@@ -1,2 +0,0 @@
-{{!-- No newlines to get rid of spaces between spans --}}
-{{#each components as |typeComponent|}}{{#if (eq typeComponent.tag "Text")}}{{typeComponent.contents}}{{else}}{{typeComponent.name}}{{/if}}{{/each}}
diff --git a/javascript/app/templates/components/type-signature.hbs b/javascript/app/templates/components/type-signature.hbs
deleted file mode 100644
index 249f1b8..0000000
--- a/javascript/app/templates/components/type-signature.hbs
+++ /dev/null
@@ -1,10 +0,0 @@
-{{!-- No newlines to get rid of spaces between spans --}}
-{{#each components as |typeComponent|}}{{#if (eq typeComponent.tag "Text")}}<span class="source-code">{{typeComponent.contents}}</span>{{else}}{{type-component occName=typeComponent.name internalId=typeComponent.internalId identifiers=identifiers currentLineNumber=currentLineNumber}}{{/if}}{{/each}}
-{{#unless noExpand}}
- {{#if type.componentsExpanded}}
- <div style="margin-top:5px">
- <button class="btn btn-outline-secondary btn-sm" {{action "toggleExpandTypeSynonyms"}}>{{expandTypeSynonymsLabel}}
- </button>
- </div>
- {{/if}}
-{{/unless}}
diff --git a/javascript/app/templates/package.hbs b/javascript/app/templates/package.hbs
deleted file mode 100644
index d26ce34..0000000
--- a/javascript/app/templates/package.hbs
+++ /dev/null
@@ -1,87 +0,0 @@
-<div class="flex-container">
- <div class="package-header">
- <span class="package-header-package-name">{{#link-to 'package' model}}{{model.id}}{{/link-to}}</span>
- <span class="package-header-input">
- {{#input-with-autocomplete
- onSubmit=(action 'searchIdentifier')
- createSearchUrlFunction=createSearchUrlFunction
- maxItems=10
- selectItem=(action 'showIdentifier')
- searchButtonText="Search"
- placeholder="Identifier" as |identifier|}}
- <span class="source-code-font">{{identifier.demangledOccName}} :: {{type-signature-text components=identifier.idType.components}}</span>
- <div class="module-name">
- <b>{{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}}</b>
- {{#if identifier.locationInfo.modulePath}}
- {{identifier.locationInfo.modulePath}}
- {{else}}
- {{identifier.locationInfo.moduleName}}
- {{/if}}
- </div>
- {{/input-with-autocomplete}}
- </span>
- {{#radio-button
- value="currentPackage"
- groupValue=searchMode}}
- <span>in {{model.id}}</span>
- {{/radio-button}}
- {{#radio-button
- value="allPackages"
- groupValue=searchMode}}
- <span>in all packages</span>
- {{/radio-button}}
- {{#if currentFile}}
- <span class="package-header-filename">
- {{currentFile}}
- </span>
- {{/if}}
- </div>
- <div class="package-content">
- {{#resizable-panel class="left-panel" alsoResizeElementId="#right-panel" as |hide|}}
- <div class="file-tree-container">
- {{file-tree directoryTree=model.directoryTree openFile="openFile" currentFile=currentFile packageId=model.id hide=hide}}
- </div>
- {{/resizable-panel}}
- <div id="right-panel" class="right-panel">
- <div id="file-container" class="file-container">
- {{outlet}}
- </div>
- {{#bottom-panel visible=bottomPanelVisible topPanelElementId="#file-container" containerElementId="#right-panel" as |section|}}
- {{#if (eq section "header")}}
- References to <b><span class="source-code">{{occName}}</span></b>
- {{#if locationInfo.packageId}}
- (defined in <b>{{locationInfo.packageId.name}}-{{locationInfo.packageId.version}}</b> / <b>{{locationInfo.moduleName}}</b>)
- {{/if}}
- {{else}}
- <div id="references-packages" class="references-packages">
- {{#if globalReferences}}
- <span>
- {{#each globalReferences as |ref|}}
- <div>
- <a id="references-package-{{ref.packageId}}" class="{{if (eq ref.packageId packageId) 'selected'}}" href="#" {{action "updateReferences" ref.packageId externalId occName locationInfo true}}>
- {{ref.packageId}}
- </a> ({{ref.count}})
- </div>
- {{/each}}
- </span>
- {{/if}}
- </div>
- <div class="references">
- {{#paginated-list url=referencesUrl foundWhere=(concat "in <b>" packageId "</b>") as |files|}}
- <ul>
- {{#each files as |file|}}
- <li>
- <div class="file-name"><a href="/package/{{packageId}}/show/{{file.name}}">{{file.name}}</a></div>
- {{#each file.references as |reference|}}
- <a class="source-code source-code-snippet" href="/package/{{packageId}}/show/{{file.name}}#L{{reference.idSrcSpan.line}}">{{{reference.sourceCodeHtml}}}</a>
- {{/each}}
- </li>
- {{/each}}
- </ul>
- {{/paginated-list}}
- </div>
- {{/if}}
- {{/bottom-panel}}
- </div>
- </div>
-</div>
diff --git a/javascript/app/templates/package/index.hbs b/javascript/app/templates/package/index.hbs
deleted file mode 100644
index 06ccd0d..0000000
--- a/javascript/app/templates/package/index.hbs
+++ /dev/null
@@ -1,12 +0,0 @@
-<div class="package-modules">
- <div class="module-search-input">
- {{input class="form-control" type="text" value=query placeholder="Module name"}}
- </div>
- <ul class="modules">
- {{#each modulesFiltered as |module|}}
- <li>
- <a href="/package/{{model.id}}/show/{{module}}">{{module}}</a>
- </li>
- {{/each}}
- </ul>
-</div>
diff --git a/javascript/app/templates/package/search.hbs b/javascript/app/templates/package/search.hbs
deleted file mode 100644
index 37b3992..0000000
--- a/javascript/app/templates/package/search.hbs
+++ /dev/null
@@ -1,21 +0,0 @@
-<div class="search-results-header">
- Query : {{model.query}}
-</div>
-<div class="search-results-content">
- {{#paginated-list url=model.url as |identifiers|}}
- <ul>
- {{#each identifiers as |identifier|}}
- <li class="search-result">
- <span class="source-code" ><b>{{identifier.demangledOccName}}</b> :: {{type-signature-text components=identifier.idType.components}}</span>
- <div><a href="#" onmouseup={{action "goToDefinition" identifier.locationInfo}}>Go to definition</a></div>
- <div class="identifier-module">
- {{#if identifier.locationInfo.modulePath}}
- Defined in <a href="/package/{{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}}/show/{{identifier.locationInfo.modulePath}}">{{identifier.locationInfo.modulePath}}</a>
- {{/if}}
- </div>
- <div>{{{identifier.doc}}}</div>
- </li>
- {{/each}}
- </ul>
- {{/paginated-list}}
-</div>
diff --git a/javascript/app/templates/package/show.hbs b/javascript/app/templates/package/show.hbs
deleted file mode 100644
index c24cd68..0000000
--- a/javascript/app/templates/package/show.hbs
+++ /dev/null
@@ -1 +0,0 @@
-{{outlet}}
diff --git a/javascript/app/templates/package/show/file.hbs b/javascript/app/templates/package/show/file.hbs
deleted file mode 100644
index 0d356e5..0000000
--- a/javascript/app/templates/package/show/file.hbs
+++ /dev/null
@@ -1,16 +0,0 @@
-{{#if model.isHaskellModule}}
- {{haskell-module
- path=model.id
- name=model.name
- packageId=model.packageId
- componentId=model.componentId
- html=model.sourceCodeHtml
- identifiers=model.identifiers
- occurrences=model.occurrences
- colorTheme=settings.colorTheme
- declarations=model.declarations
- findReferences=(action "findReferences")
- }}
-{{else}}
- {{text-file text=model.text path=model.id}}
-{{/if}}
diff --git a/javascript/app/templates/packages.hbs b/javascript/app/templates/packages.hbs
deleted file mode 100644
index 80464e6..0000000
--- a/javascript/app/templates/packages.hbs
+++ /dev/null
@@ -1,46 +0,0 @@
-<div class="flex-container container">
- <div>
- <div class="global-identifier-search-form">
- {{#input-with-autocomplete
- onSubmit=(action 'searchIdentifier')
- createSearchUrlFunction=createSearchUrlFunction
- maxItems=10
- selectItem=(action 'showIdentifier')
- searchButtonText="Search in all packages"
- placeholder="Haskell identifier" as |identifier|}}
- <span class="source-code-font">{{identifier.demangledOccName}} :: {{type-signature-text components=identifier.idType.components}}</span>
- <div class="module-name">
- <b>{{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}}</b>
- {{#if identifier.locationInfo.modulePath}}
- {{identifier.locationInfo.modulePath}}
- {{else}}
- {{identifier.locationInfo.moduleName}}
- {{/if}}
- </div>
- {{/input-with-autocomplete}}
- </div>
- </div>
- <div>
- <div class="package-search-form">
- {{input class="form-control" type="text" value=query placeholder="Package name"}}
- <span>Number of packages : {{packages.length}}</span>
- </div>
- </div>
- <div id="packages" class="packages">
- <ul>
- {{#infinite-list containerElementId="packages" elements=packages perPage=80 as |package|}}
- <li>
- {{#each package.versions as |version index|}}
- {{#link-to 'package' (concat package.name "-" version)}}
- {{#if (gt index 0)}}
- {{version}}
- {{else}}
- {{package.name}}-{{version}}
- {{/if}}
- {{/link-to}}
- {{/each}}
- </li>
- {{/infinite-list}}
- </ul>
- </div>
-</div>
diff --git a/javascript/app/templates/search.hbs b/javascript/app/templates/search.hbs
deleted file mode 100644
index 5a36913..0000000
--- a/javascript/app/templates/search.hbs
+++ /dev/null
@@ -1,48 +0,0 @@
-<div class="flex-container container">
- <div style="position:relative;height:100%">
- <div class="absolute-container">
- <div class="global-identifier-search-form">
- {{#input-with-autocomplete
- onSubmit=(action 'searchIdentifier')
- createSearchUrlFunction=createSearchUrlFunction
- maxItems=10
- selectItem=(action 'showIdentifier')
- searchButtonText="Search in all packages"
- placeholder="Haskell identifier" as |identifier|}}
- <span class="source-code-font">{{identifier.demangledOccName}} :: {{type-signature-text components=identifier.idType.components}}</span>
- <div class="module-name">
- <b>{{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}}</b>
- {{#if identifier.locationInfo.modulePath}}
- {{identifier.locationInfo.modulePath}}
- {{else}}
- {{identifier.locationInfo.moduleName}}
- {{/if}}
- </div>
- {{/input-with-autocomplete}}
- </div>
- <div>
- Query : {{model.query}}
- </div>
- <div class="global-search-results-content">
- {{#paginated-list url=model.url as |identifiers|}}
- <ul>
- {{#each identifiers as |identifier|}}
- <li class="search-result">
- <span class="source-code" ><b>{{identifier.demangledOccName}}</b> :: {{type-signature-text components=identifier.idType.components}}</span>
- <div><a href="#" onmouseup={{action "goToDefinition" identifier.locationInfo}}>Go to definition</a></div>
- <div class="identifier-module">
- {{#if identifier.locationInfo.modulePath}}
- Defined in <b> {{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}} </b> <a href="/package/{{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}}/show/{{identifier.locationInfo.modulePath}}">{{identifier.locationInfo.modulePath}}</a>
- {{else}}
- Defined in <b> {{identifier.locationInfo.packageId.name}}-{{identifier.locationInfo.packageId.version}} </b> {{identifier.locationInfo.moduleName}}
- {{/if}}
- </div>
- <div>{{{identifier.doc}}}</div>
- </li>
- {{/each}}
- </ul>
- {{/paginated-list}}
- </div>
- </div>
- </div>
-</div>
diff --git a/javascript/app/utils/api-urls.js b/javascript/app/utils/api-urls.js
deleted file mode 100644
index 5280720..0000000
--- a/javascript/app/utils/api-urls.js
+++ /dev/null
@@ -1,53 +0,0 @@
-import config from '../config/environment';
-
-// "." and ".." is a special case because of the Path Segment Normalization:
-// https://tools.ietf.org/html/rfc3986#section-6.2.2.3
-// The segments “..” and “.” can be removed from a URL by a browser.
-// https://stackoverflow.com/questions/3856693/a-url-resource-that-is-a-dot-2e
-function fixDots(string) {
- if(string === ".") {
- return "%20%2E";
- }
- else if(string === "..") {
- return "%20%2E%2E";
- } else {
- return string.replace(/\./g, '%2E');
- }
-}
-
-export const urls = {
- packageInfoUrl : function(packageId) {
- return config.APP.staticUrlPrefix+"/"+packageId+"/"+config.APP.haskellCodeExplorerDirectory+"/packageInfo.json";
- },
- fileUrl : function(packageId,filePath) {
- return config.APP.staticUrlPrefix+"/"+packageId+"/"+filePath;
- },
- haskellModuleUrl : function (packageId,filePath) {
- return config.APP.staticUrlPrefix+"/"+packageId+"/"+config.APP.haskellCodeExplorerDirectory+"/"+encodeURIComponent(encodeURIComponent(filePath))+ ".json";
- },
- packagesUrl : config.APP.apiUrlPrefix + "/packages",
- identifierDefinitionSiteUrl : function(packageId,moduleName,componentId,entity,name) {
- return config.APP.apiUrlPrefix + "/definitionSite/" + packageId+"/"+componentId+"/"+moduleName+"/"+entity+"/"+fixDots(encodeURIComponent(name));
- },
- modulePathUrl : function (packageId,moduleName,componentId) {
- return config.APP.apiUrlPrefix + "/modulePath/"+packageId+"/"+componentId+"/"+moduleName;
- },
- expressionsUrl : function (packageId,modulePath,lineStart,columnStart,lineEnd,columnEnd) {
- return config.APP.apiUrlPrefix + "/expressions/"+packageId+"/"+encodeURIComponent(modulePath) +"/"+lineStart+"/"+columnStart+"/"+lineEnd+"/"+columnEnd;
- },
- referencesUrl : function (packageId,externalId) {
- return config.APP.apiUrlPrefix + "/references/"+packageId+"/"+encodeURIComponent(externalId);
- },
- identifierSearchUrl : function (packageId,query) {
- return config.APP.apiUrlPrefix + "/identifiers/"+packageId+"/"+fixDots(encodeURIComponent(query));
- },
- globalReferencesUrl : function (externalId) {
- return config.APP.apiUrlPrefix + "/globalReferences/"+encodeURIComponent(externalId);
- },
- globalIdentifiersUrl : function (query) {
- return config.APP.apiUrlPrefix + "/globalIdentifiers/"+fixDots(encodeURIComponent(query));
- },
- hoogleDocsUrl : function (packageId,moduleName,entity,name) {
- return config.APP.apiUrlPrefix + "/hoogleDocs/"+packageId+"/"+encodeURIComponent(moduleName)+"/"+entity+"/"+fixDots(encodeURIComponent(name));
- }
-}
diff --git a/javascript/app/utils/color-themes.js b/javascript/app/utils/color-themes.js
deleted file mode 100644
index 49eda64..0000000
--- a/javascript/app/utils/color-themes.js
+++ /dev/null
@@ -1,191 +0,0 @@
-function colorThemeToCss(colorTheme) {
- const css = `
- body {
- color: ${colorTheme.defaultColor} !important;
- background-color: ${colorTheme.backgroundColor} !important;
- }
- input {
- color: ${colorTheme.defaultColor} !important;
- background-color: ${colorTheme.backgroundColor} !important;
- border-color: ${colorTheme.borderColor} !important;
- }
- .package-content {
- border-top: 1px solid ${colorTheme.borderColor} !important;
- }
- .header a {
- color : ${colorTheme.menuLinkColor} !important;
- }
- a {
- color: ${colorTheme.typeColor} !important;
- }
- span.link {
- color: ${colorTheme.typeColor} !important;
- }
- .header {
- background-color: ${colorTheme.menuColor} !important;
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
- .declarations-content {
- background-color: ${colorTheme.navigationPanelColor} !important;
- border: 1px solid ${colorTheme.borderColor} !important;
- }
- .declarations-header {
- background-color: ${colorTheme.navigationPanelColor} !important;
- border: 1px solid ${colorTheme.borderColor} !important;
- }
- li.declaration {
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
- .left-panel {
- background-color: ${colorTheme.navigationPanelColor} !important;
- border-right: 1px solid ${colorTheme.borderColor} !important;
- }
- .show-left-panel-button {
- background-color: ${colorTheme.navigationPanelColor} !important;
- border-right:1px solid ${colorTheme.borderColor} !important;
- border-bottom:1px solid ${colorTheme.borderColor} !important;
- }
- .right-panel {
- background-color: ${colorTheme.backgroundColor} !important;
- }
- a.jstree-anchor {
- color: ${colorTheme.defaultColor} !important;
- }
- .declaration > a {
- color: ${colorTheme.defaultColor} !important;
- }
- .highlighted-line {
- background : ${colorTheme.highlightedLineColor} !important;
- }
- table.source-code {
- background-color: ${colorTheme.backgroundColor} !important;
- color: ${colorTheme.defaultColor} !important;
- }
- .jstree-clicked {
- background-color: ${colorTheme.backgroundColor} !important;
- }
- .jstree-hovered {
- background-color: ${colorTheme.backgroundColor} !important;
- }
- ul.autocomplete-items {
- background-color: ${colorTheme.backgroundColor} !important;
- border-top: 1px solid ${colorTheme.borderColor} !important;
- border-left: 1px solid ${colorTheme.borderColor} !important;
- border-right: 1px solid ${colorTheme.borderColor} !important;
- }
- ul.autocomplete-items > li {
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
- ul.autocomplete-items > li:hover {
- background-color: ${colorTheme.highlightedLineColor} !important;
- }
- ul.autocomplete-items > li.highlighted {
- background-color: ${colorTheme.highlightedLineColor} !important;
- }
- .source-code-snippet {
- color: ${colorTheme.defaultColor} !important;
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
- .source-code-snippet:hover {
- background-color: ${colorTheme.highlightedLineColor} !important;
- }
- .bottom-panel {
- background-color: ${colorTheme.backgroundColor} !important;
- border-top: 1px solid ${colorTheme.borderColor} !important;
- }
- .bottom-panel-header {
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
- .paginated-list-header {
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
- li.search-result {
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
- .search-results-header {
- border-bottom: 1px solid ${colorTheme.borderColor} !important;
- }
- .info-window-content {
- border-top: 1px solid ${colorTheme.borderColor} !important;
- }
- .info-window {
- border: 1px solid ${colorTheme.borderColor} !important;
- background-color:${colorTheme.infoWindowColor} !important;
- color: ${colorTheme.defaultColor} !important;
- }
- .type-info {
- border-top: 1px solid ${colorTheme.borderColor} !important;
- }
- .references-packages {
- border-right:1px solid ${colorTheme.borderColor} !important;
- }`;
- return css;
-}
-
-const darkTheme = {
- id: "darkTheme",
- name: "Dark theme",
- description: "Dark theme (Monokai based)",
- defaultColor: "#F8F8F2",
- backgroundColor: "#272822",
- typeColor: "#66D9EF",
- literalColor: "#E6DB74",
- topLevelIdFromCurrentModule : "#A6E22E",
- localIdentifierColor: ["#F0A3FF","#0075DC","#993F00",
- "#2BCE48","#FFCC99","#808080","#94FFB5","#8F7C00",
- "#C20088","#FFA405","#FFA8BB","#426600","#FF0010",
- "#5EF1F2","#00998F","#E0FF66","#FFFF80",
- "#FFFF00","#FF5005"],
- menuColor: "#3c3b37",
- menuLinkColor : "#F8F8F2",
- infoWindowColor: "#3c3b37",
- navigationPanelColor: "#3c3b37",
- linkColor : "#0366d6",
- borderColor: "#535557",
- highlightedLineColor: "#4a4a4a"
-};
-
-const lightTheme = {
- id: "lightTheme",
- name: "Light theme",
- description: "Light theme (Github based)",
- defaultColor: "#24292e",
- backgroundColor: "#ffffff",
- typeColor: "#005cc5",
- literalColor: "#032f62",
- topLevelIdFromCurrentModule : "#6f42c1",
- localIdentifierColor: ["#005C31",
- "#2BCE48","#808080","#8F7C00",
- "#C20088","#FFA405","#ffa8bb","#426600","#FF0010",
- "#09d7d8","#00998F","#990000","#FF5005"],
- menuColor: "#f2f4f8",
- menuLinkColor : "#24292e",
- infoWindowColor: "#f2f4f8",
- navigationPanelColor: "#f2f4f8",
- linkColor : "#0366d6",
- borderColor: "#e1e4e8",
- highlightedLineColor: "#eaeaea"
-};
-
-function updateColorThemeCss (colorTheme) {
- const newStyle = document.createElement('style');
- newStyle.type = 'text/css';
- newStyle.innerHTML = colorThemeToCss(colorTheme);
- newStyle.id = 'color-theme';
- const oldStyle = document.querySelector("style#color-theme");
- if(oldStyle) {
- oldStyle.parentElement.removeChild(oldStyle);
- }
- document.getElementsByTagName('head')[0].appendChild(newStyle);
-}
-
-const themes = {
- darkTheme: darkTheme,
- lightTheme: lightTheme
-};
-
-export {
- updateColorThemeCss,
- colorThemeToCss,
- themes
-}
diff --git a/javascript/app/utils/go-to-definition.js b/javascript/app/utils/go-to-definition.js
deleted file mode 100644
index 59b5dba..0000000
--- a/javascript/app/utils/go-to-definition.js
+++ /dev/null
@@ -1,89 +0,0 @@
-function exactLocationToUrl(exactLocation) {
- const modulePath = exactLocation.modulePath;
- const packageId = exactLocation.packageId.name + "-" + exactLocation.packageId.version;
- let hash = "";
- if(exactLocation.startLine != 1) {
- hash = "#L" + exactLocation.startLine;
- }
- return "/package/"+packageId+"/show/"+modulePath+hash;
-}
-
-function hackageUrl(packageId,locationInfo) {
- let hash = "";
- if (locationInfo.entity !== "Mod") {
- hash = "#" + encodeURIComponent(locationInfo.name);
- }
- return "https://hackage.haskell.org/package/"+packageId+"/docs/src/"+locationInfo.moduleName+".html"+hash;
-}
-
-function openUrl(buttonId,url) {
- if(buttonId === 2) {//middle mouse button
- window.open(url, '_blank');
- } else if(buttonId == 1) {//left mouse button
- window.location = url;
- }
- return false;
-}
-
-function saveCurrentLocation(currentLineNumber) {
- if(currentLineNumber) {
- const url = window.location.origin + window.location.pathname + "#L" + currentLineNumber;
- if(location.href != url) {
- window.location.hash = "#L" + currentLineNumber;
- }
- }
-}
-
-function goToDefinition(store,locationInfo,buttonId,currentLineNumber) {
- if(locationInfo.tag === "ExactLocation") {
- const url = exactLocationToUrl(locationInfo);
- if(locationInfo.startLine !== currentLineNumber) {
- saveCurrentLocation(currentLineNumber);
- }
- openUrl(buttonId,url);
- } else if((locationInfo.tag === "ApproximateLocation") &&
- (locationInfo.moduleName.indexOf("Paths_") !== 0)) {
- const packageId = locationInfo.packageId.name+"-"+locationInfo.packageId.version;
- if(locationInfo.entity === "Mod") {
- store.loadDefinitionSite(packageId,
- locationInfo.moduleName,
- locationInfo.componentId,
- locationInfo.entity,
- locationInfo.moduleName)
- .then((defSite) => {
- const packageId = defSite.location.packageId.name + "-" + defSite.location.packageId.version;
- openUrl(buttonId,"/package/" + packageId + "/show/" + defSite.location.modulePath);
- }).catch(() => {
- openUrl(buttonId,hackageUrl(packageId,locationInfo));
- });
- } else {
- store.loadDefinitionSite(packageId,
- locationInfo.moduleName,
- locationInfo.componentId,
- locationInfo.entity,
- locationInfo.name)
- .then((definitionSite) => {
- if(definitionSite.location.tag === "ExactLocation") {
- const url = exactLocationToUrl(definitionSite.location);
- if(locationInfo.startLine !== currentLineNumber) {
- saveCurrentLocation(currentLineNumber);
- }
- openUrl(buttonId,url);
- } else {
- saveCurrentLocation(currentLineNumber);
- openUrl(buttonId,hackageUrl(packageId,locationInfo));
- }
- }).catch((e) => {
- console.log(e);
- saveCurrentLocation(currentLineNumber);
- openUrl(buttonId,hackageUrl(packageId,locationInfo));
- });
- }
- } else {
- alert('No location info');
- }
-}
-
-export {
- goToDefinition,openUrl
-}
diff --git a/javascript/app/utils/language-extensions.js b/javascript/app/utils/language-extensions.js
deleted file mode 100644
index f5e8b41..0000000
--- a/javascript/app/utils/language-extensions.js
+++ /dev/null
@@ -1,513 +0,0 @@
-const extensions = {
- "AllowAmbiguousTypes": {
- "description": "Allow the user to write ambiguous types, and the type inference engine to infer them.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XAllowAmbiguousTypes"
- },
- "ApplicativeDo": {
- "description": "Allows do-notation for types that are Applicative as well as Monad. When enabled, desugaring do notation tries to use (*) and fmap and join as far as possible.",
- "link": "https://ghc.haskell.org/trac/ghc/wiki/ApplicativeDo#Summary"
- },
- "Arrows": {
- "description": "Enable arrow notation.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XArrows"
- },
- "AutoDeriveTypeable": {
- "description": "(deprecated) Deprecated in favour of DeriveDataTypeable.",
- "link": "https://haskell.org/ghc/docs/7.8.4/html/users_guide/deriving.html#auto-derive-typeable"
- },
- "BangPatterns": {
- "description": "Enable a form of pattern which forces evaluation before an attempted match, and a form of strict let/where binding.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XBangPatterns"
- },
- "BinaryLiterals": {
- "description": "Allow the use of binary integer literal syntax (e.g. 0b11001001 to denote 201).",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XBinaryLiterals"
- },
- "BlockArguments": {
- "description": "Allow do blocks etc. in argument position.",
- "link":"https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0010-block-arguments.rst#blockarguments-extension"
- },
- "CApiFFI": {
- "description": "Allow use of CAPI FFI calling convention (foreign import capi).",
- "link": "https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#the-capi-calling-convention"
- },
- "CPP": {
- "description": "Run the C preprocessor on Haskell source code.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-pragma"
- },
- "ConstrainedClassMethods": {
- "description": "Allow a class method's type to place additional constraints on a class type variable.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XConstrainedClassMethods"
- },
- "ConstraintKinds": {
- "description": "Allow type classimplicit parameterequality constraints to be used as types with the special kind constraint. Also generalise the (ctxt => ty) syntax so that any type of kind constraint can occur before the arrow.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XConstraintKinds"
- },
- "DataKinds": {
- "description": "Enable datatype promotion.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDataKinds"
- },
- "DatatypeContexts": {
- "description": "Allow contexts to be put on datatypes, e.g. the Eq a in data Eq a => Set a = NilSet | ConsSet a (Set a).",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDatatypeContexts"
- },
- "DefaultSignatures": {
- "description": "Enable support for default signatures.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDefaultSignatures"
- },
- "DeriveAnyClass": {
- "description": "Enable deriving for any class.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveAnyClass"
- },
- "DeriveDataTypeable": {
- "description": "Enable deriving for classes Typeable and Data.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveDataTypeable"
- },
- "DeriveFoldable": {
- "description": "Enable deriving for the Foldable class.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveFoldable"
- },
- "DeriveFunctor": {
- "description": "Enable deriving for the Functor class.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveFunctor"
- },
- "DeriveGeneric": {
- "description": "Enable deriving for Generic and Generic1.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveGeneric"
- },
- "DeriveLift": {
- "description": "Enable deriving for the Lift class.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveLift"
- },
- "DeriveTraversable": {
- "description": "Enable deriving for the Traversable class.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveTraversable"
- },
- "DerivingStrategies": {
- "description": "Allow multiple deriving clauses, each optionally qualified with a strategy.",
- "link":"https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DerivingStrategies"
- },
- "DisambiguateRecordFields": {
- "description": "Allow a record field name to be disambiguated by the type of the record it's in.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDisambiguateRecordFields"
- },
- "DoAndIfThenElse": {
- "description": "Improve the layout rule when if expressions are used in a do block.",
- "link":"https://prime.haskell.org/wiki/DoAndIfThenElse"
- },
- "DoRec": {
- "description": "(deprecated) Deprecated in favour of RecursiveDo.",
- "link": "http://hackage.haskell.org/package/Cabal-2.4.1.0/docs/Language-Haskell-Extension.html#v:RecursiveDo"
- },
- "DuplicateRecordFields": {
- "description": "Allow records to use duplicated field labels for accessors.",
- "link": "https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields"
- },
- "EmptyCase": {
- "description": "Enable case expressions that have no alternatives. Also applies to lambda-case expressions if they are enabled.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XEmptyCase"
- },
- "EmptyDataDecls": {
- "description": "Allow data type declarations with no constructors.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XEmptyDataDecls"
- },
- "ExistentialQuantification": {
- "description": "Allow existentially-quantified data constructors.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExistentialQuantification"
- },
- "ExplicitForAll": {
- "description": "Make forall a keyword in types, which can be used to give the generalisation explicitly.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExplicitForAll"
- },
- "ExplicitNamespaces": {
- "description": "Enable explicit namespaces in module import/export lists.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExplicitNamespaces"
- },
- "ExtendedDefaultRules": {
- "description": "Allow default instantiation of polymorphic types in more situations.",
- "link": "http://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html#type-defaulting-in-ghci"
- },
- "ExtensibleRecords": {
- "description": "Enable the \"Trex\" extensible records system.",
- "link": "http://haskell.org/hugs/pages/users_guide/hugs-only.html#TREX"
- },
- "FlexibleContexts": {
- "description": "Relax some restrictions on the form of the context of a type signature.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFlexibleContexts"
- },
- "FlexibleInstances": {
- "description": "Relax some restrictions on the form of the context of an instance declaration.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFlexibleInstances"
- },
- "ForeignFunctionInterface": {
- "description": "Enable the Foreign Function Interface. In GHC, implements the standard Haskell 98 Foreign Function Interface Addendum, plus some GHC-specific extensions.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-pragma"
- },
- "FunctionalDependencies": {
- "description": "Allow a specification attached to a multi-parameter type class which indicates that some parameters are entirely determined by others. The implementation will check that this property holds for the declared instances, and will use this property to reduce ambiguity in instance resolution.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFunctionalDependencies"
- },
- "GADTSyntax": {
- "description": "Enable GADT syntax for declaring ordinary algebraic datatypes.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XGADTSyntax"
- },
- "GADTs": {
- "description": "Enable generalized algebraic data types, in which type variables may be instantiated on a per-constructor basis. Implies GADTSyntax.",
- "link": "https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#generalised-algebraic-data-types-gadts"
- },
- "GHCForeignImportPrim": {
- "description": "Allow GHC primops, written in C--, to be imported into a Haskell file.",
- "link":"https://ghc.haskell.org/trac/ghc/wiki/Commentary/PrimOps"
- },
- "GeneralizedNewtypeDeriving": {
- "description": "Allow a type declared with newtype to use deriving for any class with an instance for the underlying type.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XGeneralizedNewtypeDeriving"
- },
- "Generics": {
- "description": "(deprecated) Enable generic type classes, with default instances defined in terms of the algebraic structure of a type.",
- "link": "https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#generic-classes"
- },
- "HereDocuments": {
- "description": "Enable an alternate syntax for string literals, with string templating.",
- "link": "http://haskell.org/hugs/pages/users_guide/here-documents.html"
- },
- "HexFloatLiterals": {
- "description": "Allow use of hexadecimal literal notation for floating-point values.",
- "link":"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#hex-float-literals"
- },
- "ImplicitParams": {
- "description": "Enable implicit function parameters with dynamic scope.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XImplicitParams"
- },
- "ImplicitPrelude": {
- "description": "Enable the implicit importing of the module Prelude. When disabled, when desugaring certain built-in syntax into ordinary identifiers, use whatever is in scope rather than the Prelude -- version.",
- "link": "https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#rebindable-syntax-and-the-implicit-prelude-import"
- },
- "ImpredicativeTypes": {
- "description": "(deprecated) Allow a type variable to be instantiated at a polymorphic type.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XImpredicativeTypes"
- },
- "IncoherentInstances": {
- "description": "Implies OverlappingInstances. Allow the implementation to choose an instance even when it is possible that further instantiation of types will lead to a more specific instance being applicable.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XIncoherentInstances"
- },
- "InstanceSigs": {
- "description": "Allow type signatures to be specified in instance declarations.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XInstanceSigs"
- },
- "InterruptibleFFI": {
- "description": "Enable interruptible FFI.",
- "link": "https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#interruptible-foreign-calls"
- },
- "KindSignatures": {
- "description": "Allow an explicit kind signature giving the kind of types over which a type variable ranges.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XKindSignatures"
- },
- "LambdaCase": {
- "description": "Enable support lambda-case expressions.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XLambdaCase"
- },
- "LiberalTypeSynonyms": {
- "description": "Defer validity checking of types until after expanding type synonyms, relaxing the constraints on how synonyms may be used.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XLiberalTypeSynonyms"
- },
- "MagicHash": {
- "description": "Allow the character # as a postfix modifier on identifiers. Also enables literal syntax for unboxed values.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMagicHash"
- },
- "MonadComprehensions": {
- "description": "Enable monad comprehensions, which generalise the list comprehension syntax to work for any monad.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMonadComprehensions"
- },
- "MonadFailDesugaring": {
- "description": "A temporary extension to help library authors check if their code will compile with the new planned desugaring of fail.",
- "link":"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-MonadFailDesugaring"
- },
- "MonoLocalBinds": {
- "description": "Local (let and where) bindings are monomorphic.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMonoLocalBinds"
- },
- "MonoPatBinds": {
- "description": "(deprecated) Has no effect.",
- "link": "https://downloads.haskell.org/~ghc/7.6.3/docs/html/users_guide/monomorphism.html"
- },
- "MonomorphismRestriction": {
- "description": "Enable the dreaded monomorphism restriction.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNoMonomorphismRestriction"
- },
- "MultiParamTypeClasses": {
- "description": "Allow multiple parameters in a type class.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMultiParamTypeClasses"
- },
- "MultiWayIf": {
- "description": "Enable support for multi-way if-expressions.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMultiWayIf"
- },
- "NPlusKPatterns": {
- "description": "Support for patterns of the form n + k, where k is an integer literal.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNPlusKPatterns"
- },
- "NamedFieldPuns": {
- "description": "Enable syntax for implicitly binding local names corresponding to the field names of a record. Puns bind specific names, unlike RecordWildCards.",
- "link": "https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#extension-NamedFieldPuns"
- },
- "NamedWildCards": {
- "description": "Allow named placeholders written with a leading underscore inside type signatures. Wildcards with the same name unify to the same type.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNamedWildCards"
- },
- "NegativeLiterals": {
- "description": "Desugars negative literals directly (without using negate).",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNegativeLiterals"
- },
- "NewQualifiedOperators": {
- "description": "(deprecated) Change the syntax for qualified infix operators.",
- "link": "http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/syntax-extns.html#new-qualified-operators"
- },
- "NondecreasingIndentation": {
- "description": "Enable non-decreasing indentation for do blocks.",
- "link": "https://haskell.org/ghc/docs/latest/html/users_guide/bugs.html#context-free-syntax"
- },
- "NullaryTypeClasses": {
- "description": "Enable support for type classes with no type parameter.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNullaryTypeClasses"
- },
- "NumDecimals": {
- "description": "Allow the use of floating literal syntax for all instances of Num, including Int and Integer.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNumDecimals"
- },
- "NumericUnderscores": {
- "description": "Allow use of underscores in numeric literals.",
- "link": "https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-NumericUnderscores"
- },
- "OverlappingInstances": {
- "description": "Allow overlapping class instances, provided there is a unique most specific instance for each use.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverlappingInstances"
- },
- "OverloadedLabels": {
- "description": "Allows use of the #label syntax.",
- "link":"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-OverloadedLabels"
- },
- "OverloadedLists": {
- "description": "Enable overloading of list literals, arithmetic sequences and list patterns using the IsList type class.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverloadedLists"
- },
- "OverloadedStrings": {
- "description": "Enable overloading of string literals using a type class, much like integer literals.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverloadedStrings"
- },
- "PackageImports": {
- "description": "Allow imports to be qualified by the package name the module is intended to be imported from, e.g.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPackageImports"
- },
- "ParallelArrays": {
- "description": "Enable parallel arrays syntax ([:, :]) for Data Parallel Haskell.",
- "link": "http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell"
- },
- "ParallelListComp": {
- "description": "Provide syntax for writing list comprehensions which iterate over several lists together, like the zipWith family of functions.",
- "link": "https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-ParallelListComp"
- },
- "PartialTypeSignatures": {
- "description": "Allow anonymous placeholders (underscore) inside type signatures. The type inference engine will generate a message describing the type inferred at the hole's location.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPartialTypeSignatures"
- },
- "PatternGuards": {
- "description": "Enable a form of guard which matches a pattern and binds variables.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternGuards"
- },
- "PatternSynonyms": {
- "description": "Allow giving names to and abstracting over patterns.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternSynonyms"
- },
- "PolyKinds": {
- "description": "Enable kind polymorphism.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPolyKinds"
- },
- "PostfixOperators": {
- "description": "Relax the interpretation of left operator sections to allow unary postfix operators.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPostfixOperators"
- },
- "QuantifiedConstraints": {
- "description": "Allow forall in constraints.",
- "link":"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-QuantifiedConstraints"
- },
- "QuasiQuotes": {
- "description": "Enable quasi-quotation, a mechanism for defining new concrete syntax for expressions and patterns.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XQuasiQuotes"
- },
- "Rank2Types": {
- "description": "(deprecated) A synonym for RankNTypes.",
- "link": "https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#arbitrary-rank-polymorphism"
- },
- "RankNTypes": {
- "description": "Allow a universally-quantified type to occur on the left of a function arrow.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRankNTypes"
- },
- "RebindableSyntax": {
- "description": "Makes much of the Haskell sugar be desugared into calls to the function with a particular name that is in scope.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRebindableSyntax"
- },
- "RecordPuns": {
- "description": "Deprecated, use NamedFieldPuns instead.",
- "link": "https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#record-puns"
- },
- "RecordWildCards": {
- "description": "Enable syntax for implicitly binding local names corresponding to the field names of a record. A wildcard binds all unmentioned names, unlike NamedFieldPuns.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRecordWildCards"
- },
- "RecursiveDo": {
- "description": "Allow recursive bindings in do blocks, using the rec keyword, or mdo, a variant of do.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRecursiveDo"
- },
- "RegularPatterns": {
- "description": "Allow regular pattern matching over lists, as discussed in the paper \"Regular Expression Patterns\" by Niklas Broberg, Andreas Farre and Josef Svenningsson, from ICFP '04.",
- "link":"https://stackoverflow.com/questions/37224366/how-to-resolve-an-unsupported-extension-regularpatterns-error"
- },
- "RelaxedPolyRec": {
- "description": "Relax the requirements on mutually-recursive polymorphic functions.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRelaxedPolyRec"
- },
- "RestrictedTypeSynonyms": {
- "description": "Enable type synonyms which are transparent in some definitions and opaque elsewhere, as a way of implementing abstract datatypes.",
- "link": "http://haskell.org/hugs/pages/users_guide/restricted-synonyms.html"
- },
- "RoleAnnotations": {
- "description": "Enable explicit role annotations, like in (type role Foo representational representational).",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRoleAnnotations"
- },
- "Safe": {
- "description": "Compile a module in the Safe, Safe Haskell mode -- a restricted form of the Haskell language to ensure type safety.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XSafe"
- },
- "SafeImports": {
- "description": "Allow imports to be qualified with a safe keyword that requires the imported module be trusted as according to the Safe Haskell definition of trust.",
- "link": "https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#safe-imports"
- },
- "ScopedTypeVariables": {
- "description": "Cause a type variable in a signature, which has an explicit forall quantifier, to scope over the definition of the accompanying value declaration.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XScopedTypeVariables"
- },
- "StandaloneDeriving": {
- "description": "Allow a standalone declaration which invokes the type class deriving mechanism.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XStandaloneDeriving"
- },
- "StarIsType": {
- "description": "Have * refer to Type.",
- "link":"https://ghc.haskell.org/trac/ghc/wiki/Migration/8.6#StarIsType"
-
- },
- "StaticPointers": {
- "description": "Enable support for 'static pointers' (and the static keyword) to refer to globally stable names, even across different programs.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XStaticPointers"
- },
- "Strict": {
- "description": "Switches all pattern bindings to be strict by default (as if they had a bang using BangPatterns), ordinary patterns are recovered using ~. Implies StrictData.",
- "link": "https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#ghc-flag--XStrict"
- },
- "StrictData": {
- "description": "Switches data type declarations to be strict by default (as if they had a bang using BangPatterns), and allow opt-in field laziness using ~.",
- "link": "https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#ghc-flag--XStrictData"
- },
- "TemplateHaskell": {
- "description": "Enable Template Haskell, a system for compile-time metaprogramming.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTemplateHaskell"
- },
- "TemplateHaskellQuotes": {
- "description": "A subset of TemplateHaskell including only quoting.",
- "link": "https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-TemplateHaskellQuotes"
- },
- "TraditionalRecordSyntax": {
- "description": "Enable traditional record syntax (as supported by Haskell 98)",
- "link": "https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#traditional-record-syntax"
- },
- "TransformListComp": {
- "description": "Enable generalized list comprehensions, supporting operations such as sorting and grouping.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTransformListComp"
- },
- "Trustworthy": {
- "description": "Compile a module in the Trustworthy, Safe Haskell mode -- no restrictions apply but the module is marked as trusted as long as the package the module resides in is trusted.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XTrustworthy"
- },
- "TupleSections": {
- "description": "Enable the use of tuple sections, e.g. (, True) desugars into x -> (x, True).",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTupleSections"
- },
- "TypeApplications": {
- "description": "Enable explicit type applications with the syntax id @Int.",
- "link":"https://ghc.haskell.org/trac/ghc/wiki/TypeApplication"
- },
- "TypeFamilies": {
- "description": "Allow data types and type synonyms which are indexed by types, i.e. ad-hoc polymorphism for types.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeFamilies"
- },
- "TypeFamilyDependencies": {
- "description": "Allow functional dependency annotations on type families to declare them as injective.",
- "link": "https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-TypeFamilyDependencies"
- },
- "TypeInType": {
- "description": "Dissolve the distinction between types and kinds, allowing the compiler to reason about kind equality and therefore enabling GADTs to be promoted to the type-level.",
- "link":"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#kind-polymorphism"
- },
- "TypeOperators": {
- "description": "Allow the name of a type constructor, type class, or type variable to be an infix operator. * https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeOperators",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeOperators"
- },
- "TypeSynonymInstances": {
- "description": "Allow type synonyms in instance heads.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeSynonymInstances"
- },
- "UnboxedSums": {
- "description": "Enable the use of unboxed sum syntax.",
- "link": "https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-UnboxedSums"
- },
- "UnboxedTuples": {
- "description": "Enable unboxed tuples.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUnboxedTuples"
- },
- "UndecidableInstances": {
- "description": "Ignore structural rules guaranteeing the termination of class instance resolution. Termination is guaranteed by a fixed-depth recursion stack, and compilation may fail if this depth is exceeded.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUndecidableInstances"
- },
- "UndecidableSuperClasses": {
- "description": "Allow recursive (and therefore undecideable) super-class relationships.",
- "link": "https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#undecidable-or-recursive-superclasses"
- },
- "UnicodeSyntax": {
- "description": "Allow certain Unicode characters to stand for certain ASCII character sequences, e.g. keywords and punctuation.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUnicodeSyntax"
- },
- "UnliftedFFITypes": {
- "description": "Allow the use of unboxed types as foreign types, e.g. in foreign import and foreign export.",
- "link": "https://ghc.haskell.org/trac/ghc/wiki/Commentary/PrimOps#Foreignout-of-linePrimOpsandforeignimportprim"
- },
- "Unsafe": {
- "description": "Compile a module in the Unsafe, Safe Haskell mode so that modules compiled using Safe, Safe Haskell mode can't import it.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XUnsafe"
- },
- "ViewPatterns": {
- "description": "Enable view patterns, which match a value by applying a function and matching on the result.",
- "link": "https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XViewPatterns"
- },
- "XmlSyntax": {
- "description": "Allow concrete XML syntax to be used in expressions and patterns, as per the Haskell Server Pages extension language: http://www.haskell.org/haskellwiki/HSP. The ideas behind it are discussed in the paper \"Haskell Server Pages through Dynamic Loading\" by Niklas Broberg, from Haskell Workshop '05.",
- "link": "http://www.haskell.org/haskellwiki/HSP"
- }
-};
-
-
-const regexp = new RegExp(Object.keys(extensions).join("|"),"g");
-
-function addLinksToLanguageExtensionsDocs(string) {
- return string.replace(regexp, function(match) {
- const extension = extensions[match];
- if(extensions) {
- return "<a target='_blank' title='"+extension.description+"' href='"+extension.link+"'>"+match+"</a>";
- } else {
- return match;
- }
- });
-}
-
-export {
- addLinksToLanguageExtensionsDocs
-}
diff --git a/javascript/app/utils/line-selection.js b/javascript/app/utils/line-selection.js
deleted file mode 100644
index d2e55e3..0000000
--- a/javascript/app/utils/line-selection.js
+++ /dev/null
@@ -1,111 +0,0 @@
-function initializeLineSelection(sourceCodeContainerElement,component) {
- const lineNumbers = Array.prototype.slice.call(sourceCodeContainerElement.querySelectorAll("td.line-number"));
- if(lineNumbers.length > 0) {
- const onhashchange = function () {
- highlightSelectedLines(sourceCodeContainerElement);
- }
- window.addEventListener("hashchange",onhashchange);
- component._onhashchange = onhashchange;
-
- let shiftPressed;
- const onkeydown = function (event) {
- if(event.keyCode === 16) { shiftPressed = true; }
- };
- const onkeyup = function (event) {
- if(event.keyCode === 16) { shiftPressed = false; }
- };
-
- document.addEventListener('keydown',onkeydown);
- document.addEventListener('keyup',onkeyup);
- component._onkeydown = onkeydown;
- component._onkeyup = onkeyup;
-
- let selectedLine1,selectedLine2;
- lineNumbers.forEach((lineNumberElement) => {
- lineNumberElement.onclick = function() {
- const number = parseInt(this.textContent);
- if(shiftPressed && selectedLine1) {
- if(selectedLine1 != number) {
- selectedLine2 = number;
- if(selectedLine1 < selectedLine2) {
- highlightLines(sourceCodeContainerElement,selectedLine1,selectedLine2);
- window.location.hash = "L"+selectedLine1+"-L"+selectedLine2;
- } else {
- highlightLines(sourceCodeContainerElement,selectedLine2,selectedLine1);
- window.location.hash = "L"+selectedLine2+"-L"+selectedLine1;
- }
- }
- } else {
- selectedLine1 = number;
- selectedLine2 = null;
- highlightLines(sourceCodeContainerElement,selectedLine1,selectedLine1);
- window.location.hash = "L"+number;
- }
- }
- });
- const lines = highlightSelectedLines(sourceCodeContainerElement);
- if(lines.length) {
- selectedLine1 = lines[0];
- selectedLine2 = lines[1];
- }
- }
-}
-
-function highlightSelectedLines (sourceCodeContainerElement) {
- const lineInfo = window.location.hash.slice(1);
- if(lineInfo) {
- if(lineInfo.includes('-')) {
- const lines = lineInfo.split("-");
- const lineNumber1 = parseInt(lines[0].substring(1));
- const lineNumber2 = parseInt(lines[1].substring(1));
- if(lineNumber1 && lineNumber2 && lineNumber1 <= lineNumber2) {
- highlightLines(sourceCodeContainerElement,lineNumber1,lineNumber2);
- const line = sourceCodeContainerElement.querySelector("td#LC"+lineNumber1);
- if(line) {
- scrollLineIntoView(line,sourceCodeContainerElement);
- }
- return [lineNumber1,lineNumber2];
- }
- } else {
- const lineNumber = parseInt(lineInfo.substring(1));
- if(lineNumber) {
- highlightLines(sourceCodeContainerElement,lineNumber,lineNumber);
- const line = sourceCodeContainerElement.querySelector("td#LC"+lineNumber);
- if(line) {
- scrollLineIntoView(line,sourceCodeContainerElement);
- }
- return [lineNumber];
- }
- }
- } else {
- highlightLines(sourceCodeContainerElement,0,0);
- return [];
- }
-}
-
-function scrollLineIntoView(lineElement,sourceCodeContainerElement) {
- lineElement.parentNode.scrollIntoView();
- const container = sourceCodeContainerElement.parentNode.parentNode;
- const windowHeight = container.offsetHeight;
- const fullHeight = sourceCodeContainerElement.offsetHeight;
-
- if(fullHeight - container.scrollTop > windowHeight) {
- container.scrollTop = container.scrollTop - (windowHeight/2 - 20);
- }
-}
-
-function highlightLines(parentElement,startLine,endLine) {
- const lineElements = Array.prototype.slice.call(parentElement.querySelectorAll("td.line-content"));
- lineElements.forEach((lineElement) => {
- const number = parseInt(lineElement.id.substring(2)); //<td "id"="LC10">...</td>
- if(number >= startLine && number <= endLine) {
- lineElement.classList.add('highlighted-line');
- } else {
- lineElement.classList.remove('highlighted-line');
- }
- });
-}
-
-export {
- initializeLineSelection,highlightLines,highlightSelectedLines
-}
diff --git a/javascript/bower.json b/javascript/bower.json
deleted file mode 100644
index 9b3b4a5..0000000
--- a/javascript/bower.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "name": "haskell-code-explorer",
- "dependencies": {
- "pace": "^1.0.2"
- }
-}
diff --git a/javascript/config/environment.js b/javascript/config/environment.js
deleted file mode 100644
index 250c03f..0000000
--- a/javascript/config/environment.js
+++ /dev/null
@@ -1,64 +0,0 @@
-/* eslint-env node */
-'use strict';
-
-module.exports = function(environment) {
- let ENV = {
- modulePrefix: 'haskell-code-explorer',
- environment,
- rootURL: '/',
- locationType: 'auto',
- EmberENV: {
- FEATURES: {
- // Here you can enable experimental features on an ember canary build
- // e.g. 'with-controller': true
- },
- EXTEND_PROTOTYPES: {
- // Prevent Ember Data from overriding Date.parse.
- Date: false
- }
- },
- pace: {
- theme: 'minimal',
- color: 'silver',
- target: 'body',
- elements: {
- checkInterval: 100,
- selectors: ['body', '.ember-view']
- },
- ajax: false
- },
- APP: {
- staticUrlPrefix: "/files",
- apiUrlPrefix: "/api",
- haskellCodeExplorerDirectory: ".haskell-code-explorer",
- title: "Haskell Code Explorer"
- }
- };
-
- if (environment === 'development') {
- // ENV.APP.LOG_RESOLVER = true;
- // ENV.APP.LOG_ACTIVE_GENERATION = true;
- // ENV.APP.LOG_TRANSITIONS = true;
- // ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
- // ENV.APP.LOG_VIEW_LOOKUPS = true;
- }
-
- if (environment === 'test') {
- // Testem prefers this...
- ENV.locationType = 'none';
-
- // keep test console output quieter
- ENV.APP.LOG_ACTIVE_GENERATION = false;
- ENV.APP.LOG_VIEW_LOOKUPS = false;
-
- ENV.APP.autoboot = false;
-
- ENV.APP.rootElement = '#ember-testing';
- }
-
- if (environment === 'production') {
-
- }
-
- return ENV;
-};
diff --git a/javascript/config/targets.js b/javascript/config/targets.js
deleted file mode 100644
index df7664c..0000000
--- a/javascript/config/targets.js
+++ /dev/null
@@ -1,9 +0,0 @@
-/* eslint-env node */
-module.exports = {
- browsers: [
- 'ie 9',
- 'last 1 Chrome versions',
- 'last 1 Firefox versions',
- 'last 1 Safari versions'
- ]
-};
diff --git a/javascript/ember-cli-build.js b/javascript/ember-cli-build.js
deleted file mode 100644
index 8a2f7bc..0000000
--- a/javascript/ember-cli-build.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/* eslint-env node */
-'use strict';
-
-const EmberApp = require('ember-cli/lib/broccoli/ember-app');
-
-module.exports = function(defaults) {
- let app = new EmberApp(defaults, {
- 'ember-cli-bootstrap-4': {
- js: null
- },
- 'ember-cli-babel': {
- includePolyfill: true
- }
- });
- app.import('vendor/jquery-ui-1.12.1.custom/jquery-ui.min.js')// only draggable and resizable
- app.import('vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.min.css')
- app.import('node_modules/jstree/dist/jstree.min.js');
- app.import('node_modules/jstree/dist/themes/default/style.min.css');
- app.import('node_modules/showdown/dist/showdown.min.js');
- return app.toTree();
-};
diff --git a/javascript/package.json b/javascript/package.json
deleted file mode 100644
index 5db5645..0000000
--- a/javascript/package.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
- "name": "haskell-code-explorer",
- "version": "0.0.1",
- "description": "Haskell Code Explorer",
- "private": false,
- "license": "MIT",
- "author": "alexwl",
- "directories": {
- "doc": "doc",
- "test": "tests"
- },
- "repository": "",
- "scripts": {
- "build": "ember build --environment=production",
- "release": "ember build --environment=production --output-path=release",
- "start": "ember server"
- },
- "devDependencies": {
- "broccoli-asset-rev": "^2.4.5",
- "ember-cli": "^3.2.0",
- "ember-cli-app-version": "^3.0.0",
- "ember-cli-babel": "^6.12.0",
- "ember-cli-bootstrap-4": "^0.5.6",
- "ember-cli-dependency-checker": "^1.3.0",
- "ember-cli-eslint": "^4.2.1",
- "ember-cli-htmlbars": "^2.0.1",
- "ember-cli-htmlbars-inline-precompile": "^1.0.0",
- "ember-cli-inject-live-reload": "^1.4.1",
- "ember-cli-pace": "^0.1.0",
- "ember-cli-qunit": "^4.1.1",
- "ember-cli-sass": "^7.1.7",
- "ember-cli-shims": "^1.1.0",
- "ember-cli-sri": "^2.1.0",
- "ember-cli-uglify": "^1.2.0",
- "ember-export-application-global": "^2.0.0",
- "ember-load-initializers": "^1.0.0",
- "ember-radio-button": "^1.1.1",
- "ember-resolver": "^4.0.0",
- "ember-sinon": "^1.0.1",
- "ember-sinon-qunit": "^2.0.0",
- "ember-source": "3.2.0",
- "ember-truth-helpers": "^2.0.0",
- "express": "^4.16.2",
- "glob": "^4.5.3",
- "jstree": "3.3.9",
- "loader.js": "^4.2.3",
- "morgan": "^1.9.0",
- "showdown": "^1.8.6"
- },
- "engines": {
- "node": "^4.5 || 6.* || >= 7.*"
- }
-}
diff --git a/javascript/public/assets/32px.png b/javascript/public/assets/32px.png
deleted file mode 100644
index d6fd721..0000000
--- a/javascript/public/assets/32px.png
+++ /dev/null
Binary files differ
diff --git a/javascript/public/assets/40px.png b/javascript/public/assets/40px.png
deleted file mode 100644
index 4fc88e4..0000000
--- a/javascript/public/assets/40px.png
+++ /dev/null
Binary files differ
diff --git a/javascript/public/assets/favicon.ico b/javascript/public/assets/favicon.ico
deleted file mode 100644
index 37816fd..0000000
--- a/javascript/public/assets/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/javascript/public/assets/haskell.ico b/javascript/public/assets/haskell.ico
deleted file mode 100644
index 37816fd..0000000
--- a/javascript/public/assets/haskell.ico
+++ /dev/null
Binary files differ
diff --git a/javascript/public/assets/throbber.gif b/javascript/public/assets/throbber.gif
deleted file mode 100644
index cd75035..0000000
--- a/javascript/public/assets/throbber.gif
+++ /dev/null
Binary files differ
diff --git a/javascript/public/robots.txt b/javascript/public/robots.txt
deleted file mode 100644
index f591645..0000000
--- a/javascript/public/robots.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# http://www.robotstxt.org
-User-agent: *
-Disallow:
diff --git a/javascript/release/assets/32px-eebaf260766f5e0e773f53d3ea4f3e4d.png b/javascript/release/assets/32px-eebaf260766f5e0e773f53d3ea4f3e4d.png
deleted file mode 100644
index d6fd721..0000000
--- a/javascript/release/assets/32px-eebaf260766f5e0e773f53d3ea4f3e4d.png
+++ /dev/null
Binary files differ
diff --git a/javascript/release/assets/40px-51286e68b083696edaf4f9fc577e2a2d.png b/javascript/release/assets/40px-51286e68b083696edaf4f9fc577e2a2d.png
deleted file mode 100644
index 4fc88e4..0000000
--- a/javascript/release/assets/40px-51286e68b083696edaf4f9fc577e2a2d.png
+++ /dev/null
Binary files differ
diff --git a/javascript/release/assets/favicon.ico b/javascript/release/assets/favicon.ico
deleted file mode 100644
index 37816fd..0000000
--- a/javascript/release/assets/favicon.ico
+++ /dev/null
Binary files differ
diff --git a/javascript/release/assets/haskell-code-explorer-3325784c864ca6662b97be678eeea861.js b/javascript/release/assets/haskell-code-explorer-3325784c864ca6662b97be678eeea861.js
deleted file mode 100644
index d66565a..0000000
--- a/javascript/release/assets/haskell-code-explorer-3325784c864ca6662b97be678eeea861.js
+++ /dev/null
@@ -1,224 +0,0 @@
-"use strict"
-define("haskell-code-explorer/app",["exports","ember-resolver","ember-load-initializers","haskell-code-explorer/config/environment"],function(e,t,n,o){Object.defineProperty(e,"__esModule",{value:!0})
-var s
-s=Ember.Application.extend({modulePrefix:o.default.modulePrefix,Resolver:t.default}),(0,n.default)(s,o.default.modulePrefix),e.default=s}),define("haskell-code-explorer/components/bottom-panel",["exports"],function(e){function t(e){var t=Math.floor(e.$containerElement.height()/2)
-e.$().css({display:"block",top:t+"px"}),e.$topPanelElement.css({height:t+"px"})}function n(e){var t=Math.floor(e.$containerElement.height()/2)
-e.$().css({display:"none",height:t+"px"}),e.$topPanelElement.css({height:"100%"})}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({classNames:["bottom-panel"],didInsertElement:function(){var e=this
-this._super.apply(this,arguments),this.$topPanelElement=Ember.$(this.get("topPanelElementId")),this.$containerElement=Ember.$(this.get("containerElementId")),Ember.run.next(this,function(){Ember.$(e.element).resizable({handles:"n",maxHeight:700,minHeight:200,resize:function(t,n){Ember.run.next(e,function(){e.$topPanelElement.css({height:e.$containerElement.height()-n.size.height})})}})})},visibilityObserver:Ember.observer("visible",function(){this.get("visible")?t(this):n(this)}),actions:{close:function(){this.set("visible",!1)}}})}),define("haskell-code-explorer/components/expression-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({})}),define("haskell-code-explorer/components/file-tree",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0})
-var t=function e(t,o){return o.contents.map(function(o){var s={}
-return s.text=o.name,s.data=o,o.path&&(s.id=o.path,s.a_attr={href:"/package/"+t+"/show/"+o.path}),"Dir"===o.tag?(s.children=e(t,o),s.state={opened:n(o)}):o.isHaskellModule?(s.icon="/assets/haskell.ico",s.isHaskellModule=!0):(s.icon="jstree-file",s.isHaskellModule=!1),s})},n=function e(t){return t.contents.some(function(t){return"File"===t.tag?t.isHaskellModule:e(t)})},o=function(e){var t=e.lastIndexOf(".")
-return t<1?"":e.substr(t+1)}
-e.default=Ember.Component.extend({query:null,sortType:"alphabetical",sortTypeObserver:Ember.observer("sortType",function(){var e=this
-Ember.run.next(this,function(){e.jstree.refresh()})}),didInsertElement:function(){var e=this
-this._super.apply(this,arguments)
-var n=this.element.getElementsByClassName("file-tree")[0],s=this,l=Ember.$(n).jstree({core:{data:t(this.get("packageId"),this.get("directoryTree"))},plugins:["search","sort"],search:{case_insensitive:!0,show_only_matches:!0,show_only_matches_children:!0},sort:function(e,t){var n=this.get_node(e).data,l=this.get_node(t).data
-if("alphabetical"===s.get("sortType"))return n.name.localeCompare(l.name)
-var i=("Dir"===n.tag?"0":"1")+o(n.name)+n.name,r=("Dir"===l.tag?"0":"1")+o(l.name)+l.name
-return i.localeCompare(r)}})
-l.on("select_node.jstree",function(t,n){var o=n.node.data
-"Dir"!=o.tag&&e.sendAction("openFile",o.path)})
-var i=l.jstree(!0)
-if(this.get("currentFile")){i.select_node(this.get("currentFile"))
-var r=i.get_node(this.get("currentFile"),!0)[0]
-r&&r.scrollIntoView()}this.jstree=i},currentFileObserver:Ember.observer("currentFile",function(){var e=this
-Ember.run.next(function(){e.jstree.deselect_all(),e.jstree.select_node(e.get("currentFile"))})}),queryObserver:Ember.observer("query",function(){this.get("query")?this.jstree.search(this.get("query")):this.jstree.clear_search()}),actions:{hide:function(){this.get("hide")()}}})}),define("haskell-code-explorer/components/haskell-module",["exports","haskell-code-explorer/utils/go-to-definition","haskell-code-explorer/utils/line-selection","haskell-code-explorer/utils/language-extensions"],function(e,t,n,o){function s(e,t){return e.line===t.line?e.column===t.column?0:e.column>t.column?1:-1:e.line>t.line?1:-1}function l(e,t,n){if(e[t.line]&&e[n.line]){if(t.line===n.line)return e[t.line].slice(t.column-1,n.column-1)
-for(var o=e[t.line],s=[],l=t.line+1;l<n.line;l++)s.push(e[l])
-var i=e[n.line],r=Math.min(t.column,s.concat([i]).map(function(e){return e.search(/\S/)}).reduce(function(e,t){return Math.min(e,t)}))
-return o.slice(t.column-1,o.length)+"\n"+s.map(function(e){return e.slice(r,e.length)}).join("\n")+(s.length?"\n":"")+i.slice(r,n.column-1)}return null}function i(e,t){t?e.classList.add("highlighted-identifier"):e.classList.remove("highlighted-identifier")}function r(e,t,n){if(t.id){Array.prototype.slice.call(e.querySelectorAll("span[id='"+t.id+"']")).forEach(function(e){i(e,n)})}else i(t,n)}function a(e,t){return Array.from(e).map(function(e){return parseInt(e)}).reduce(function(e,n){return(10*e+n)%t},0)}function c(e,t,n){return"External"===n.sort&&(n.locationInfo.modulePath===t||n.locationInfo.moduleName===e)}function d(e,t,n,o,s,l){var i=n[e.dataset.occurrence],r=s.defaultColor,d=void 0
-if(i)if("TypeId"===i.sort.tag)r=s.typeColor
-else if("HsLit"===i.description||"HsOverLit"===i.description||"LitPat"===i.description||"NPat"===i.description||"NPlusKPat"===i.description||"OverLit"===i.description)r=s.literalColor
-else{var u=t[e.dataset.identifier]
-if(u)if(c(l,o,u))r=s.topLevelIdFromCurrentModule
-else if("Internal"===u.sort&&"ExactLocation"===u.locationInfo.tag){var p=a(e.id,s.localIdentifierColor.length)
-r=s.localIdentifierColor[p],d="bold"}}return"color:"+r+";"+(d?"font-weight:"+d:"")+";"+(i.isBinder?"text-decoration:underline;":"")}function u(e,n){var o=Array.prototype.slice.call(e.querySelectorAll("span.identifier"))
-if(o.length>0){var s=null
-o.forEach(function(o){var l=d(o,n.get("identifiers"),n.get("occurrences"),n.get("path"),n.get("colorTheme"),n.get("name"))
-o.style.cssText=l,o.onmouseup=function(e){if(s&&clearTimeout(s),window.getSelection().isCollapsed){var l=n.get("identifiers")[o.dataset.identifier],i=n.get("occurrences")[o.dataset.occurrence],r=parseInt(o.parentNode.dataset.line)
-"ModuleId"===i.sort.tag?(0,t.goToDefinition)(n.get("store"),i.sort.contents,e.which,r):!l||1!==e.which&&2!==e.which||(i.isBinder?"External"===l.sort&&n.get("findReferences")(n.get("packageId"),l.externalId,l.demangledOccName,l.locationInfo):(0,t.goToDefinition)(n.get("store"),l.locationInfo,e.which,r))}},o.onmouseover=function(){r(e,o,!0),s&&clearTimeout(s),s=setTimeout(function(){Ember.run.next(n,function(){var e=n.get("identifiers")[o.dataset.identifier],t=n.get("occurrences")[o.dataset.occurrence]
-console.log(t),console.log(e),n.set("selectedIdentifier",o),n.set("currentLineNumber",parseInt(o.parentNode.dataset.line)||1),n.set("identifierInfo",e),n.set("identifierOccurrence",t),n.set("hasSelectedExpression",!1),n.set("isHoveredOverIdentifier",!0)})},250)},o.onmouseout=function(){r(e,o,!1),s&&clearTimeout(s),s=setTimeout(function(){Ember.run.next(n,function(){n.set("isHoveredOverIdentifier",!1)})},250)}}),n.timer=s}}function p(e,t){return e===t||!!(16&e.compareDocumentPosition(t))}function h(e,t){var n=Array.prototype.slice.call(e.querySelectorAll("td.line-content"))
-if(n.length>0){var o=[""]
-n.forEach(function(e){o.push(e.textContent)})
-var i=["#text","SPAN","TD"],r=!1,a=!1,c=function(){Ember.run.next(function(){if(!r&&!a){a=!0,setTimeout(function(){a=!1},400),t.set("hasSelectedExpression",!1)
-var n=window.getSelection()
-if(n.anchorNode&&n.focusNode&&p(e,n.anchorNode)&&p(e,n.focusNode)&&-1!==i.indexOf(n.anchorNode.nodeName)&&-1!==i.indexOf(n.focusNode.nodeName)&&!n.isCollapsed){var c=document.createRange()
-c.setStart(n.anchorNode,n.anchorOffset),c.setEnd(n.focusNode,n.focusOffset)
-var d=c.collapsed,u=void 0,h=void 0,m=void 0,f=void 0
-d?(u=n.focusNode,h=n.focusOffset,m=n.anchorNode,f=n.anchorOffset):(u=n.anchorNode,h=n.anchorOffset,m=n.focusNode,f=n.focusOffset)
-var g=void 0,b=void 0,k=void 0,x=void 0,y=void 0
-if("#text"===u.nodeName){var w=u.parentNode
-if(b=parseInt(w.dataset.start)+h,g=parseInt(w.parentNode.dataset.line),h===u.textContent.length&&null===w.nextSibling){for(var v=u.parentNode.parentNode.parentNode,_=v.nextSibling;""===_.children[1].textContent;)_=_.nextSibling
-y=_.children[1].children[0]}else y=0!==h&&w.nextSibling?w.nextSibling:w}else if("SPAN"===u.nodeName){b=1,g=parseInt(u.parentNode.dataset.line)
-for(var E=u.parentNode.parentNode,I=E.nextSibling;""===I.children[1].textContent;)I=I.nextSibling
-y=I.children[1].children[0]}else if("TD"===u.nodeName){if(h>0){var P=u.children[h-1]
-b=parseInt(P.dataset.start)}else b=1
-g=parseInt(u.id.slice(2)),y=u.children[0]}if("#text"===m.nodeName)x=parseInt(m.parentNode.dataset.start)+f,k=parseInt(m.parentNode.parentNode.dataset.line)
-else if("SPAN"===m.nodeName)x=1,k=parseInt(m.parentNode.dataset.line)
-else if("TD"===m.nodeName){if(f>0){var C=m.children[f-1]
-x=parseInt(C.dataset.start)}else x=1
-k=parseInt(m.id.slice(2))}var T=t.get("store").loadExpressions(t.get("packageId"),t.get("path"),g,b,k,x)
-r=!0,T.then(function(e){Ember.run.next(function(){if(e&&e.length>0){e.sort(function(e,t){return s(e.srcSpan.start,t.srcSpan.start)<=0&&s(e.srcSpan.end,t.srcSpan.end)>=0?-1:1})
-var n=e.reduce(function(e,t){var n=Ember.copy(t),s=l(o,t.srcSpan.start,t.srcSpan.end)
-return s?(n.sourceCode=s,e.concat(n)):e},[])
-n.length>0&&(t.set("selectedIdentifier",y),t.set("expressions",n),t.set("currentLineNumber",parseInt(y.parentNode.dataset.line)||1),t.set("hasSelectedExpression",!0))}r=!1})})}}})}
-e.addEventListener("mouseup",c),t._onmouseup=c}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),selectedIdentifier:null,isHoveredOverIdentifier:!1,hasSelectedExpression:!1,showDeclarations:!0,showDeclarationsLabel:Ember.computed("showDeclarations",function(){return this.get("showDeclarations")?"Hide":"Show"}),queryObserver:Ember.observer("query",function(){var e=this
-Ember.run.debounce(this,function(){var t=new RegExp(e.get("query"),"i"),n=e.get("declarations").filter(function(e){return-1!=e.name.search(t)})
-Ember.run.next(function(){e.set("filteredDeclarations",n)})},300)}),identifierLocationInfo:Ember.computed("identifierInfo","identifierOccurrence",function(){var e=this.get("identifierOccurrence"),t=this.get("identifierInfo")
-if(e)return"ModuleId"===e.sort.tag?e.sort.contents:t?t.locationInfo:null}),themeObserver:Ember.observer("colorTheme",function(){var e=this
-Ember.run.next(this,function(){e.cleanup(),e.didInsertElement()})}),fileObserver:Ember.observer("path",function(){var e=this
-Ember.run.next(this,function(){e.cleanup(),e.didInsertElement()})}),cleanup:function(){this.timer&&clearTimeout(this.timer),this._onhashchange&&window.removeEventListener("hashchange",this._onhashchange),this._onkeydown&&document.removeEventListener("keydown",this._onkeydown),this._onkeyup&&document.removeEventListener("keyup",this._onkeyup),this._onmouseup&&this.sourceCodeContainerElement.removeEventListener("mouseup",this._onmouseup),this.set("selectedIdentifier",null),this.set("isHoveredOverIdentifier",!1),this.set("hasSelectedExpression",!1),this.set("showDeclarations",!0)},didReceiveAttrs:function(){this.set("filteredDeclarations",this.get("declarations"))},didInsertElement:function(){var e=this
-this._super.apply(this,arguments)
-var t=this.element.querySelector(".source-code-container")
-t.innerHTML=this.get("html"),this.sourceCodeContainerElement=t
-for(var s=this.sourceCodeContainerElement.querySelectorAll("tr > td:nth-child(2)"),l=s.length,i=0;i<l;){var r=s.item(i),a=r.textContent
-if(a){if(0===a.indexOf("module "))break
-r.innerHTML=(0,o.addLinksToLanguageExtensionsDocs)(a)}i+=1}this.element.parentNode.scrollTop=0
-var c=this.element.querySelector(".declarations-content")
-this.set("query",""),c&&(c.scrollTop=0),Ember.run.next(this,function(){u(t,e),(0,n.initializeLineSelection)(t,e),h(t,e)})},willDestroyElement:function(){this.cleanup()},actions:{goToLine:function(e){window.location.hash="L"+e},toggleShowDeclarations:function(){this.toggleProperty("showDeclarations")}}})}),define("haskell-code-explorer/components/identifier-info",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),downloadedDocumentation:null,didInsertElement:function(){var e=this,n=function(n){if(n.target.dataset.location){var o=void 0
-try{o=JSON.parse(n.target.dataset.location)}catch(e){console.log(e)}o&&(0,t.goToDefinition)(e.get("store"),o,n.which,e.get("currentLineNumber"))}}
-this.element.addEventListener("mouseup",n),this._onmouseup=n},willDestroyElement:function(){this._onmouseup&&this.element.removeEventListener("mouseup",this._onmouseup)},isNaughtyRecSel:Ember.computed("identifierInfo",function(){var e=this.get("identifierInfo")
-return!!e&&"RecSelIdNaughty"===e.details}),isExternalIdentifier:Ember.computed("identifierInfo",function(){var e=this.get("identifierInfo")
-return!!e&&"External"===e.sort}),identifierObserver:Ember.observer("identifierInfo",function(){var e=this
-this.set("downloadedDocumentation","")
-var t=this.get("identifierInfo")
-if(t){var n=t.locationInfo
-if("ApproximateLocation"===n.tag){var o=n.packageId.name+"-"+n.packageId.version,s=t
-this.get("store").loadDefinitionSite(o,n.moduleName,n.componentId,n.entity,n.name).then(function(t){Ember.run.next(e,function(){s===e.get("identifierInfo")&&e.set("downloadedDocumentation",t.documentation)})}).catch(function(){e.get("store").loadHoogleDocs(o,n.moduleName,n.entity,n.name).then(function(t){Ember.run.next(e,function(){s===e.get("identifierInfo")&&e.set("downloadedDocumentation",t)})})})}}})})}),define("haskell-code-explorer/components/identifier-name",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),name:Ember.computed("identifierElement",function(){var e=this.get("identifierElement")
-if(e)return e.innerText}),style:Ember.computed("identifierElement",function(){var e=this.get("identifierElement")
-if(e)return new Ember.String.htmlSafe("color:"+e.style.color)}),locationInfo:Ember.computed("identifierInfo","identifierOccurrence",function(){return"ModuleId"===this.get("identifierOccurrence.sort.tag")?this.get("identifierOccurrence.sort.contents"):this.get("identifierInfo.locationInfo")}),location:Ember.computed("locationInfo",function(){var e=this.get("locationInfo")
-return e?"ExactLocation"===e.tag?e.modulePath:"ApproximateLocation"===e.tag?"Mod"===e.entity?e.packageId.name+"-"+e.packageId.version:e.packageId.name+"-"+e.packageId.version+" "+e.moduleName:e.contents:""}),isExternalIdentifier:Ember.computed("identifierInfo",function(){return"External"===this.get("identifierInfo.sort")}),actions:{goToDefinition:function(e){return(0,t.goToDefinition)(this.get("store"),this.get("locationInfo"),e.which,this.get("currentLineNumber")),!1},findReferences:function(e,t){this.get("findReferences")(t,e.externalId,e.demangledOccName,e.locationInfo)}}})}),define("haskell-code-explorer/components/infinite-list",["exports"],function(e){function t(e){e.set("renderedElements",e.get("elements").slice(0,e.get("perPage"))),n=1}Object.defineProperty(e,"__esModule",{value:!0})
-var n=void 0,o=!1
-e.default=Ember.Component.extend({renderedElements:[],init:function(){this._super.apply(this,arguments),t(this)},elementsObserver:Ember.observer("elements",function(){t(this)
-var e=document.getElementById(this.get("containerElementId"))
-e&&(e.scrollTop=0)}),didInsertElement:function(){var e=document.getElementById(this.get("containerElementId"))
-if(e){var t=this
-e.onscroll=function(){var s=t.get("perPage"),l=t.get("elements")
-!o&&n*s<l.length&&e.scrollTop+e.offsetHeight>t.element.offsetHeight-100&&(o=!0,Ember.run.next(t,function(){var e=l.slice(n*s,(n+1)*s)
-t.get("renderedElements").pushObjects(e),n++,o=!1}))}}}})}),define("haskell-code-explorer/components/info-window",["exports"],function(e){function t(e){var t=e.get("targetElement")
-if(t){var n=e.element.offsetHeight,o=t.offsetHeight,s=t.parentNode,l=document.querySelector("#"+e.get("containerElementId")),i=t.getBoundingClientRect().top,r=void 0
-r=l?l.getBoundingClientRect().top:0
-var a=void 0
-a=i<n+r?t.offsetTop+s.offsetTop+o+10+"px":t.offsetTop+s.offsetTop-n+"px"
-var c=t.offsetLeft+s.offsetLeft+"px"
-e.$().css({top:a,left:c})}else e.set("isPinned",!1)}Object.defineProperty(e,"__esModule",{value:!0})
-var n=!1,o=!1
-e.default=Ember.Component.extend({classNames:["info-window-container"],attributeBindings:["hidden"],isPinned:!1,isFocused:!1,didInsertElement:function(){var e=this,t=Ember.$(e.element.querySelector(".info-window-header")),s=Ember.$(e.element.querySelector(".info-window-content")),l=Ember.$(e.element.querySelector(".info-window")),i=Ember.$(e.element)
-this.$headerElement=t,this.$contentElement=s,this.$().resizable({handles:"n,w",minHeight:80,minWidth:400,start:function(){n=!0},stop:function(){n=!1},resize:function(){var e=i.height()
-l.css({height:e+2+"px"}),s.css({"max-height":e-t.outerHeight(!0)+"px"})}}),this.$().draggable({containment:"#"+this.get("containerElementId"),handle:t,start:function(){o=!0},stop:function(){o=!1}})},mouseEnter:function(){this.get("hasSelectedExpression")||this.set("isFocused",!0)},mouseLeave:function(e){var t=document.elementFromPoint(e.clientX,e.clientY)
-t&&t.classList.contains("link")||n||o||this.get("isPinned")||this.get("hasSelectedExpression")||this.set("isFocused",!1)},hidden:Ember.computed("isHoveredOverIdentifier","isFocused","hasSelectedExpression","isPinned",function(){return this.$contentElement&&this.$contentElement.scrollTop(0),!(this.get("isPinned")||this.get("isFocused")||this.get("isHoveredOverIdentifier")||this.get("hasSelectedExpression"))}),didUpdate:function(){t(this)},actions:{close:function(){this.set("isPinned",!1),this.set("isFocused",!1),this.set("hasSelectedExpression",!1)},pin:function(){this.toggleProperty("isPinned")}}})}),define("haskell-code-explorer/components/input-with-autocomplete",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),highlightedItemIndex:-1,items:[],query:null,didInsertElement:function(){var e=this,t=Ember.$(this.element).find(".search-input"),n=Ember.$(this.element).find(".autocomplete-container")
-this.$input=t,this.$autocompleteContainer=n
-var o=t.width()+300
-n.css({width:o+"px",top:t.outerHeight()}),t.keyup(function(t){13===t.which?e.onEnter():27===t.which?e.onEsc():40===t.which?e.onDown():38===t.which&&e.onUp()}),t.focusin(function(){e.showAutocompleteList()}),t.focusout(function(){Ember.run.later(function(){e.hideAutocompleteList()},100)})},willDestroyElement:function(){this._super.apply(this,arguments),this.$input.off("keyup"),this.$input.off("focusin"),this.$input.off("focusout")},onEnter:function(){if(-1!==this.get("highlightedItemIndex")){var e=this.get("items")[this.get("highlightedItemIndex")]
-e&&(this.hideAutocompleteList(),this.get("selectItem")(e))}else this.hideAutocompleteList(),this.get("onSubmit")(this.get("query"))},onEsc:function(){this.hideAutocompleteList()},onDown:function(){this.showAutocompleteList()
-var e=this.get("highlightedItemIndex"),t=this.get("items"),n=t.length
-n>0&&(-1!==e?e===n-1?this.set("highlightedItemIndex",0):this.set("highlightedItemIndex",e+1):this.set("highlightedItemIndex",0))},onUp:function(){this.showAutocompleteList()
-var e=this.get("highlightedItemIndex"),t=this.get("items"),n=t.length
-n>0&&(-1!==e?0===e?this.set("highlightedItemIndex",n-1):this.set("highlightedItemIndex",e-1):this.set("highlightedItemIndex",n-1))},hideAutocompleteList:function(){this.set("highlightedItemIndex",-1),this.$autocompleteContainer.css({display:"none"})},showAutocompleteList:function(){""!==this.get("query")&&this.$autocompleteContainer.css({display:"block"})},searchUrlObserver:Ember.observer("createSearchUrlFunction",function(){this.notifyPropertyChange("query")}),queryObserver:Ember.observer("query",function(){var e=this
-if(this.get("query")){var t=this.get("maxItems")?this.get("maxItems"):10,n=this.get("createSearchUrlFunction")(this.get("query"))+"?per_page="+t
-Ember.run.debounce(this,function(){e.get("store").loadFromUrlPaginated(n).then(function(t){Ember.run.next(function(){e.set("items",t.items)})})},400),this.showAutocompleteList()}else this.hideAutocompleteList(),this.set("items",[])}),actions:{onSubmit:function(){this.hideAutocompleteList(),this.get("onSubmit")(this.get("query"))},goToDefinition:function(e){this.hideAutocompleteList(),this.get("selectItem")(e)}}})}),define("haskell-code-explorer/components/instance-info",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),style:Ember.computed("nestedLevel",function(){return new Ember.String.htmlSafe("margin-left :"+10*this.get("nestedLevel")+"px")}),nextNestedLevel:Ember.computed("nestedLevel",function(){return this.get("nestedLevel")+1}),actions:{goToDefinition:function(e){return(0,t.goToDefinition)(this.get("store"),this.get("instance.location"),e.which,this.get("currentLineNumber")),!1}}})}),define("haskell-code-explorer/components/labeled-radio-button",["exports","ember-radio-button/components/labeled-radio-button"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("haskell-code-explorer/components/paginated-list",["exports"],function(e){function t(e,t,n){e.loadFromUrlPaginated(n).then(function(e){Ember.run.next(function(){t.set("total",e.total),t.set("items",e.items),t.set("first",e.linkHeader.first),t.set("next",e.linkHeader.next),t.set("prev",e.linkHeader.prev),t.set("last",e.linkHeader.last)
-var o=n.match(/(&|\?)page=(\d+)/),s=n.match(/(&|\?)per_page=(\d+)/),l=o?o[2]:1,i=s?s[2]:20;(e.linkHeader.next||e.linkHeader.prev)&&(t.set("firstItemOnPage",(l-1)*i+1),e.linkHeader.last?t.set("lastItemOnPage",l*i):t.set("lastItemOnPage",e.total))})})}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),init:function(){this._super.apply(this,arguments),this.get("url")&&t(this.get("store"),this,this.get("url"))},urlObserver:Ember.observer("url",function(){t(this.get("store"),this,this.get("url")),this.element.querySelector(".paginated-list-content").scrollTop=0}),actions:{update:function(e){this.element.querySelector(".paginated-list-content").scrollTop=0,t(this.get("store"),this,e)}}})}),define("haskell-code-explorer/components/radio-button-input",["exports","ember-radio-button/components/radio-button-input"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("haskell-code-explorer/components/radio-button",["exports","ember-radio-button/components/radio-button"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("haskell-code-explorer/components/resizable-panel",["exports"],function(e){function t(e,t){e.$alsoResizeElement.css({left:0}),e.$().css({width:0}),e.set("hidden",!0),e.$(".show-left-panel-button").show(),t&&e.set("hiddenByUser",!0)}function n(e,t){e.$alsoResizeElement.css({left:300}),e.$().css({width:300}),e.set("hidden",!1),e.$(".show-left-panel-button").hide(),t&&e.set("hiddenByUser",!1)}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({hidden:!1,hiddenByUser:!1,didInsertElement:function(){var e=this
-this._super.apply(this,arguments),Ember.run.next(this,function(){var o=function(){if(!e.get("hiddenByUser")){var o=window.innerWidth
-!e.get("hidden")&&o<700?t(e,!1):e.get("hidden")&&o>700&&n(e,!1)}}
-e._onresize=o,window.addEventListener("resize",o)
-var s=Ember.$(e.get("alsoResizeElementId"))
-Ember.$(e.element).resizable({maxWidth:800,minWidth:200,handles:"e",resize:function(t,n){Ember.run.next(e,function(){s.css({left:n.size.width})})}}),e.$alsoResizeElement=s,window.innerWidth<700&&(e.set("hidden",!0),t(e,!1))})},hideButtonLabel:Ember.computed("hidden",function(){return this.get("hidden")?"&gt;":"&lt;"}),willDestroyElement:function(){this._onresize&&window.removeEventListener("resize",this._onresize)},actions:{hide:function(){this.get("hidden")?n(this,!0):t(this,!0)}}})}),define("haskell-code-explorer/components/text-file",["exports","haskell-code-explorer/utils/line-selection"],function(e,t){function n(e){return e.replace(/[\"&<>]/g,function(e){return{'"':"&quot;","&":"&amp;","<":"&lt;",">":"&gt;"}[e]})}function o(e){var t=0
-return"<table class='source-code'><tbody>"+e.split("\n").map(function(e){return"<tr><td id='LN"+ ++t+"' class='line-number'>"+t+"</td><td id='LC"+t+"' class='line-content'>"+n(e)+"</td></tr>"}).join("")+"</tbody></table>"}Object.defineProperty(e,"__esModule",{value:!0})
-var s=["markdown","mdown","mkdn","mkd","md"]
-e.default=Ember.Component.extend({isMarkdown:Ember.computed("path",function(){var e=this.get("path").split(".").pop()
-return s.any(function(t){return e===t})}),html:Ember.computed("path","isMarkdown",function(){return this.get("isMarkdown")?this.markdownConverter.makeHtml(this.get("text")):o(this.get("text"))}),init:function(){this._super.apply(this,arguments),this.markdownConverter=new showdown.Converter},didInsertElement:function(){var e=this.element.querySelector(".source-code-container");(0,t.initializeLineSelection)(e,this),this.element.parentNode.scrollTop=0},willDestroyElement:function(){this.cleanup()},cleanup:function(){this._onhashchange&&window.removeEventListener("hashchange",this._onhashchange),this._onkeydown&&document.removeEventListener("keydown",this._onkeydown),this._onkeyup&&document.removeEventListener("keyup",this._onkeyup)},pathObserver:Ember.observer("path",function(){var e=this
-Ember.run.next(this,function(){e.cleanup(),e.didInsertElement()})})})}),define("haskell-code-explorer/components/type-component",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({store:Ember.inject.service("store"),tagName:"span",classNames:["type-component"],contextMenu:function(){return this.get("identifiers")&&this.get("internalId")&&this.set("expanded",!0),!1},linkClass:Ember.computed("identifierInfo",function(){return this.get("identifierInfo")?"link":""}),identifierInfo:Ember.computed("internalId",function(){return this.get("internalId")?this.get("identifiers")[this.get("internalId")]:null}),actions:{onmouseup:function(e){if(this.get("identifierInfo")&&3!==e.which){var n=this.get("identifierInfo").locationInfo
-return(0,t.goToDefinition)(this.get("store"),n,e.which,this.get("currentLineNumber")),!1}}}})}),define("haskell-code-explorer/components/type-signature-text",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"span"})}),define("haskell-code-explorer/components/type-signature",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"span",expandTypeSynonyms:!1,expandTypeSynonymsLabel:Ember.computed("expandTypeSynonyms",function(){return this.get("expandTypeSynonyms")?"Show type synonyms":"Expand type synonyms"}),components:Ember.computed("type","expandTypeSynonyms",function(){return this.get("expandTypeSynonyms")&&this.get("type.componentsExpanded")?this.get("type.componentsExpanded"):this.get("type.components")}),typeObserver:Ember.observer("type",function(){this.set("expandTypeSynonyms",!1)}),actions:{toggleExpandTypeSynonyms:function(){this.toggleProperty("expandTypeSynonyms")}}})}),define("haskell-code-explorer/controllers/application",["exports","haskell-code-explorer/utils/color-themes"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({settings:Ember.inject.service("settings"),themes:Object.values(t.themes),init:function(){this._super.apply(this,arguments),(0,t.updateColorThemeCss)(this.get("settings").get("colorTheme"))},currentTheme:Ember.computed("settings",function(){return this.get("settings.colorTheme.id")}),actions:{themeChanged:function(e){var n=t.themes[e]
-this.get("settings").set("colorTheme",n),(0,t.updateColorThemeCss)(n)}}})}),define("haskell-code-explorer/controllers/package",["exports","haskell-code-explorer/utils/go-to-definition","haskell-code-explorer/utils/api-urls"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),currentFile:null,loadItemsFunction:null,query:null,searchMode:"currentPackage",createSearchUrlFunction:Ember.computed("searchMode","model",function(){var e=this.get("model.id")
-return"currentPackage"===this.get("searchMode")?function(t){return n.urls.identifierSearchUrl(e,t)}:function(e){return n.urls.globalIdentifiersUrl(e)}}),actions:{searchIdentifier:function(e){e&&(this.set("currentFile",null),document.title=this.get("model.id"),"currentPackage"===this.get("searchMode")?this.transitionToRoute("package.search",e):this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/controllers/package/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({modulesFiltered:Ember.computed("model","query",function(){var e=this.get("query"),t=Object.keys(this.get("model.modules")).sort()
-if(e){var n=new RegExp(e,"i")
-return t.filter(function(e){return-1!=e.search(n)})}return t})})}),define("haskell-code-explorer/controllers/package/search",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),actions:{goToDefinition:function(e,n){return(0,t.goToDefinition)(this.get("store"),e,n.which,null),!1}}})}),define("haskell-code-explorer/controllers/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({settings:Ember.inject.service("settings"),actions:{findReferences:function(e,t,n,o){this.send("updateReferences",e,t,n,o)}}})}),define("haskell-code-explorer/controllers/packages",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),queryObserver:Ember.observer("query",function(){var e=this
-Ember.run.debounce(this,function(){var t=new RegExp(e.get("query"),"i"),n=e.get("model").filter(function(e){return-1!=e.name.search(t)})
-Ember.run.next(function(){e.set("packages",n)})},300)}),actions:{searchIdentifier:function(e){e&&(document.title="Haskell code explorer",this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/controllers/search",["exports","haskell-code-explorer/utils/go-to-definition"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Controller.extend({store:Ember.inject.service("store"),actions:{goToDefinition:function(e,n){return(0,t.goToDefinition)(this.get("store"),e,n.which,null),!1},searchIdentifier:function(e){e&&(document.title="Haskell code explorer",this.transitionToRoute("search",e))},showIdentifier:function(e){return(0,t.goToDefinition)(this.get("store"),e.locationInfo,1,null),!1}}})}),define("haskell-code-explorer/helpers/and",["exports","ember-truth-helpers/helpers/and"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"and",{enumerable:!0,get:function(){return t.and}})}),define("haskell-code-explorer/helpers/app-version",["exports","haskell-code-explorer/config/environment","ember-cli-app-version/utils/regexp"],function(e,t,n){function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
-return t.hideSha?s.match(n.versionRegExp)[0]:t.hideVersion?s.match(n.shaRegExp)[0]:s}Object.defineProperty(e,"__esModule",{value:!0}),e.appVersion=o
-var s=t.default.APP.version
-e.default=Ember.Helper.helper(o)}),define("haskell-code-explorer/helpers/eq",["exports","ember-truth-helpers/helpers/equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"equal",{enumerable:!0,get:function(){return t.equal}})})
-define("haskell-code-explorer/helpers/gt",["exports","ember-truth-helpers/helpers/gt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return t.gt}})}),define("haskell-code-explorer/helpers/gte",["exports","ember-truth-helpers/helpers/gte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return t.gte}})}),define("haskell-code-explorer/helpers/is-array",["exports","ember-truth-helpers/helpers/is-array"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return t.isArray}})}),define("haskell-code-explorer/helpers/is-equal",["exports","ember-truth-helpers/helpers/is-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"isEqual",{enumerable:!0,get:function(){return t.isEqual}})}),define("haskell-code-explorer/helpers/lt",["exports","ember-truth-helpers/helpers/lt"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lt",{enumerable:!0,get:function(){return t.lt}})}),define("haskell-code-explorer/helpers/lte",["exports","ember-truth-helpers/helpers/lte"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"lte",{enumerable:!0,get:function(){return t.lte}})}),define("haskell-code-explorer/helpers/not-eq",["exports","ember-truth-helpers/helpers/not-equal"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"notEq",{enumerable:!0,get:function(){return t.notEq}})}),define("haskell-code-explorer/helpers/not",["exports","ember-truth-helpers/helpers/not"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return t.not}})}),define("haskell-code-explorer/helpers/or",["exports","ember-truth-helpers/helpers/or"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return t.or}})}),define("haskell-code-explorer/helpers/xor",["exports","ember-truth-helpers/helpers/xor"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"xor",{enumerable:!0,get:function(){return t.xor}})}),define("haskell-code-explorer/initializers/app-version",["exports","ember-cli-app-version/initializer-factory","haskell-code-explorer/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0})
-var o=void 0,s=void 0
-n.default.APP&&(o=n.default.APP.name,s=n.default.APP.version),e.default={name:"App Version",initialize:(0,t.default)(o,s)}}),define("haskell-code-explorer/initializers/container-debug-adapter",["exports","ember-resolver/resolvers/classic/container-debug-adapter"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default={name:"container-debug-adapter",initialize:function(){var e=arguments[1]||arguments[0]
-e.register("container-debug-adapter:main",t.default),e.inject("container-debug-adapter:main","namespace","application:main")}}}),define("haskell-code-explorer/initializers/export-application-global",["exports","haskell-code-explorer/config/environment"],function(e,t){function n(){var e=arguments[1]||arguments[0]
-if(!1!==t.default.exportApplicationGlobal){var n
-if("undefined"!=typeof window)n=window
-else if("undefined"!=typeof global)n=global
-else{if("undefined"==typeof self)return
-n=self}var o,s=t.default.exportApplicationGlobal
-o="string"==typeof s?s:Ember.String.classify(t.default.modulePrefix),n[o]||(n[o]=e,e.reopen({willDestroy:function(){this._super.apply(this,arguments),delete n[o]}}))}}Object.defineProperty(e,"__esModule",{value:!0}),e.initialize=n,e.default={name:"export-application-global",initialize:n}}),define("haskell-code-explorer/router",["exports","haskell-code-explorer/config/environment"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0})
-var n=Ember.Router.extend({location:t.default.locationType})
-n.map(function(){this.route("packages",{path:""}),this.route("search",{path:"/search/:query"}),this.route("package",{path:"/package/:packageId"},function(){this.route("show",function(){this.route("file",{path:"*filePath"},function(){})}),this.route("search",{path:"/search/:query"})}),this.route("bad-url",{path:"/*badurl"})}),e.default=n}),define("haskell-code-explorer/routes/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({})}),define("haskell-code-explorer/routes/package",["exports","haskell-code-explorer/utils/api-urls"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({store:Ember.inject.service("store"),model:function(e){var t=this
-return this.get("store").loadPackage(e.packageId).catch(function(e){console.log(e),t.transitionTo("/package-not-found")})},setupController:function(e,t){this._super(e,t),e.set("bottomPanelVisible",!1)},actions:{openFile:function(e){this.transitionTo("package.show.file",e)},fileOpened:function(e){this.get("controller")&&this.set("controller.currentFile",e)},updateReferences:function(e,n,o,s,l){var i=this
-this.get("store").loadGlobalReferences(n).then(function(t){Ember.run.next(i,function(){i.set("controller.globalReferences",t),l||Ember.run.schedule("afterRender",function(){var t=document.getElementById("references-package-"+e)
-t&&t.scrollIntoView()})})}),this.set("controller.packageId",e),this.set("controller.externalId",n),this.set("controller.occName",o),this.set("controller.locationInfo",s),this.set("controller.bottomPanelVisible",!0),this.set("controller.referencesUrl",t.urls.referencesUrl(e,n)+"?per_page=50")},didTransition:function(){return document.title=this.currentModel.id,!0}}})}),define("haskell-code-explorer/routes/package/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({afterModel:function(e,t){t.send("fileOpened",null)}})}),define("haskell-code-explorer/routes/package/search",["exports","haskell-code-explorer/utils/api-urls","haskell-code-explorer/utils/go-to-definition"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({store:Ember.inject.service("store"),model:function(e){return{query:e.query,url:t.urls.identifierSearchUrl(this.modelFor("package").id,e.query)+"?per_page=20"}},afterModel:function(){var e=this,t=function(t){if(t.target.dataset.location){var o=void 0
-try{o=JSON.parse(t.target.dataset.location)}catch(e){console.log(e)}o&&(0,n.goToDefinition)(e.get("store"),o,t.which)}}
-this._onmouseup=t,document.addEventListener("mouseup",t)},deactivate:function(){this._onmouseup&&document.removeEventListener("mouseup",this._onmouseup)}})}),define("haskell-code-explorer/routes/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({store:Ember.inject.service(),model:function(e){var t=this,n=this.modelFor("package")
-return n.modules[e.filePath]?this.get("store").loadHaskellModule(n.id,e.filePath).catch(function(e){console.log(e),t.transitionTo("/not-found")}):this.get("store").loadFile(n.id,e.filePath).then(function(e){return document.title=n.id,e}).catch(function(e){console.log(e),t.transitionTo("/not-found")})},afterModel:function(e){document.title=e.id+" - "+this.modelFor("package").id},actions:{didTransition:function(){this.send("fileOpened",this.currentModel.id)}}})}),define("haskell-code-explorer/routes/package/show/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({afterModel:function(e,t){t.send("fileOpened",null)}})}),define("haskell-code-explorer/routes/packages",["exports","haskell-code-explorer/utils/api-urls","haskell-code-explorer/config/environment"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({model:function(){return Ember.$.getJSON(t.urls.packagesUrl)},setupController:function(e,n){this._super(e,n),e.set("packages",n),e.set("createSearchUrlFunction",function(e){return t.urls.globalIdentifiersUrl(e)})},afterModel:function(){document.title=n.default.APP.title}})}),define("haskell-code-explorer/routes/search",["exports","haskell-code-explorer/utils/api-urls","haskell-code-explorer/utils/go-to-definition"],function(e,t,n){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Route.extend({store:Ember.inject.service("store"),model:function(e){return{query:e.query,url:t.urls.globalIdentifiersUrl(e.query)+"?per_page=20"}},setupController:function(e,n){this._super(e,n),e.set("createSearchUrlFunction",function(e){return t.urls.globalIdentifiersUrl(e)})},afterModel:function(){var e=this,t=function(t){if(t.target.dataset.location){var o=void 0
-try{o=JSON.parse(t.target.dataset.location)}catch(e){console.log(e)}o&&(0,n.goToDefinition)(e.get("store"),o,t.which)}}
-this._onmouseup=t,document.addEventListener("mouseup",t)},deactivate:function(){this._onmouseup&&document.removeEventListener("mouseup",this._onmouseup)}})}),define("haskell-code-explorer/services/settings",["exports","haskell-code-explorer/utils/color-themes"],function(e,t){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Service.extend({init:function(){if(this._super.apply(this,arguments),localStorage){var e=localStorage.getItem("colorThemeId"),n=t.themes[e]
-e&&this.set("colorTheme",n)}},colorTheme:t.themes.darkTheme,settingsObserver:Ember.observer("colorTheme",function(){localStorage&&localStorage.setItem("colorThemeId",this.get("colorTheme").id)})})}),define("haskell-code-explorer/services/store",["exports","haskell-code-explorer/utils/api-urls"],function(e,t){function n(e){return'"'==e.charAt(0)&&'"'==e.charAt(e.length-1)?e.substring(1,e.length-1):e}function o(e){if(!e)return{}
-for(var t=/<[^>]*>\s*(\s*;\s*[^\(\)<>@,;:"\/\[\]\?={} \t]+=(([^\(\)<>@,;:"\/\[\]\?={} \t]+)|("[^"]*")))*(,|$)/g,o=/[^\(\)<>@,;:"\/\[\]\?={} \t]+=(([^\(\)<>@,;:"\/\[\]\?={} \t]+)|("[^"]*"))/g,s=e.match(t),l=new Object,i=0;i<s.length;i++){var r=s[i].split(">"),a=r[0].substring(1),c=r[1],d=new Object
-d.href=a
-for(var u=c.match(o),p=0;p<u.length;p++){var h=u[p],m=h.split("=")
-d[m[0]]=n(m[1])}void 0!=d.rel&&(l[d.rel]=d)}return l}Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Service.extend({init:function(){this.packages={},this.files={},this.haskellModules={},this.definitionSites={},this.modulePaths={},this.expressions={},this.references={},this.globalReferences={},this.hoogleDocs={}},loadPackage:function(e){var n=this,o=this.packages[e]
-if(o)return new Ember.RSVP.Promise(function(e){e(o)})
-var s=t.urls.packageInfoUrl(e)
-return Ember.$.getJSON(s).then(function(t){return n.packages[e]=t,t})},loadFile:function(e,n){var o=this,s=e+"/"+n,l=this.files[s]
-if(l)return new Ember.RSVP.Promise(function(e){e(l)})
-var i=t.urls.fileUrl(e,n)
-return Ember.$.get({url:i,dataType:"text"}).then(function(t){var l={}
-return l.text=t,l.packageId=e,l.isHaskellModule=!1,l.id=n,o.files[s]=l,l})},loadHaskellModule:function(e,n){var o=this,s=e+"/"+n,l=this.haskellModules[s]
-if(l)return new Ember.RSVP.Promise(function(e){e(l)})
-var i=t.urls.haskellModuleUrl(e,n)
-return Ember.$.getJSON(i).then(function(t){return t.packageId=e,t.isHaskellModule=!0,o.haskellModules[s]=t,t})},loadDefinitionSite:function(e,n,o,s,l){var i=this,r=e+"/"+o+"/"+n+"/"+s+"/"+l,a=this.definitionSites[r]
-if(a)return new Ember.RSVP.Promise(function(e){e(a)})
-var c=t.urls.identifierDefinitionSiteUrl(e,n,o,s,l)
-return Ember.$.getJSON(c).then(function(e){return i.definitionSites[r]=e,e})},loadExpressions:function(e,n,o,s,l,i){var r=this,a=e+"/"+encodeURIComponent(n)+"/"+o+"/"+s+"/"+l+"/"+i,c=this.expressions[a]
-if(c)return new Ember.RSVP.Promise(function(e){e(c)})
-var d=t.urls.expressionsUrl(e,n,o,s,l,i)
-return Ember.$.getJSON(d).then(function(e){return r.expressions[a]=e,e})},loadFromUrlPaginated:function(e){return Ember.$.getJSON(e).then(function(e,t,n){var s=n.getResponseHeader("Link"),l=n.getResponseHeader("x-total-count"),i=o(s)
-return{items:e,total:parseInt(l),linkHeader:i}})},loadGlobalReferences:function(e){var n=this,o=this.globalReferences[e]
-if(o)return new Ember.RSVP.Promise(function(e){e(o)})
-var s=t.urls.globalReferencesUrl(e)
-return Ember.$.getJSON(s).then(function(t){return n.globalReferences[e]=t,t})},loadHoogleDocs:function(e,n,o,s){var l=this,i=e+"/"+n+"/"+o+"/"+s,r=this.hoogleDocs[i]
-if(r)return new Ember.RSVP.Promise(function(e){e(r)})
-var a=t.urls.hoogleDocsUrl(e,n,o,s)
-return Ember.$.getJSON(a).then(function(e){return l.hoogleDocs[i]=e,e})}})}),define("haskell-code-explorer/templates/application",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VFOlgxX7",block:'{"symbols":["theme"],"statements":[[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[6,"div"],[10,"class","flex-container"],[8],[0,"\\n "],[6,"div"],[10,"class","header"],[8],[0,"\\n "],[6,"img"],[10,"src","/assets/haskell.ico"],[8],[9],[0,"\\n "],[6,"div"],[10,"class","container"],[8],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[4,"link-to",["packages"],null,{"statements":[[0,"Haskell packages"]],"parameters":[]},null],[9],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[6,"a"],[10,"target","_blank"],[10,"href","https://github.com/alexwl/haskell-code-explorer"],[8],[0,"About"],[9],[9],[0,"\\n "],[6,"span"],[10,"class","header-item"],[8],[0,"\\n"],[4,"each",[[22,["themes"]]],null,{"statements":[[4,"radio-button",null,[["value","groupValue","changed"],[[21,1,["id"]],[22,["currentTheme"]],"themeChanged"]],{"statements":[[0," "],[6,"span"],[8],[1,[21,1,["name"]],false],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","content"],[8],[0,"\\n "],[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[1,[20,"outlet"],false],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/application.hbs"}})}),define("haskell-code-explorer/templates/bad-url",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"5j5yigKR",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","container"],[8],[0,"\\n "],[6,"div"],[10,"style","margin-top:10px"],[8],[0,"\\n "],[6,"h1"],[8],[0,"Not found"],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","/"],[8],[0,"Main page"],[9],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/bad-url.hbs"}})}),define("haskell-code-explorer/templates/components/bottom-panel",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"npSIWyPX",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","bottom-panel-header"],[8],[0,"\\n "],[6,"span"],[10,"class","bottom-panel-header-content"],[8],[13,1,["header"]],[9],[0,"\\n "],[6,"span"],[10,"class","bottom-panel-header-options"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"close"]],[8],[0,"Close"],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","bottom-panel-content"],[8],[0,"\\n "],[13,1,["body"]],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/bottom-panel.hbs"}})}),define("haskell-code-explorer/templates/components/expression-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"3orLnFsH",block:'{"symbols":["expression"],"statements":[[6,"div"],[10,"class","expressions"],[8],[0,"\\n"],[4,"each",[[22,["expressions"]]],null,{"statements":[[0," "],[6,"div"],[10,"class","expression"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[1,[21,1,["sourceCode"]],false],[9],[0,"\\n "],[6,"br"],[8],[9],[0,":: "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[21,1,["info","exprType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/expression-info.hbs"}})}),define("haskell-code-explorer/templates/components/file-tree",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"dsx0INhr",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","file-tree-header"],[8],[0,"\\n "],[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control",[22,["query"]],"Filename"]]],false],[6,"a"],[10,"class","hide-file-tree"],[10,"href","#"],[3,"action",[[21,0,[]],"hide"]],[8],[0,"Hide"],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n"],[4,"radio-button",null,[["value","groupValue"],["alphabetical",[22,["sortType"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"Sort by name"],[9],[0,"\\n"]],"parameters":[]},null],[4,"radio-button",null,[["value","groupValue"],["type",[22,["sortType"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"Sort by type"],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","file-tree-content"],[8],[0,"\\n "],[6,"div"],[10,"class","file-tree"],[8],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/file-tree.hbs"}})}),define("haskell-code-explorer/templates/components/haskell-module",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"olqhNo84",block:'{"symbols":["section","declaration"],"statements":[[6,"div"],[10,"class","source-code-container"],[8],[9],[0,"\\n"],[4,"if",[[22,["declarations"]]],null,{"statements":[[0," "],[6,"div"],[10,"class","declarations"],[8],[0,"\\n "],[6,"div"],[10,"class","declarations-header"],[8],[0,"\\n "],[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control",[22,["query"]],"Identifier"]]],false],[6,"a"],[10,"class","hide-declarations"],[10,"href","#"],[3,"action",[[21,0,[]],"toggleShowDeclarations"]],[8],[1,[20,"showDeclarationsLabel"],false],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[4,"if",[[22,["showDeclarations"]]],null,{"statements":[[0," "],[6,"div"],[10,"id","declarations-content"],[10,"class","declarations-content"],[8],[0,"\\n "],[6,"ul"],[8],[0,"\\n"],[4,"infinite-list",null,[["containerElementId","elements","perPage"],["declarations-content",[22,["filteredDeclarations"]],30]],{"statements":[[0," "],[6,"li"],[10,"class","declaration"],[8],[0,"\\n "],[6,"div"],[10,"class","declaration"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"goToLine",[21,2,["lineNumber"]]]],[8],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,2,["name"]],false],[4,"if",[[21,2,["declType"]]],null,{"statements":[[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["declType","components"]]]]],false]],"parameters":[]},null],[9],[0,"\\n "],[9],[6,"span"],[8],[4,"unless",[[21,2,["isExported"]]],null,{"statements":[[6,"i"],[8],[0,"(not exported)"],[9]],"parameters":[]},null],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[4,"info-window",null,[["targetElement","isHoveredOverIdentifier","hasSelectedExpression","containerElementId"],[[22,["selectedIdentifier"]],[22,["isHoveredOverIdentifier"]],[22,["hasSelectedExpression"]],"right-panel"]],{"statements":[[4,"if",[[26,"eq",[[21,1,[]],"header"],null]],null,{"statements":[[4,"if",[[22,["hasSelectedExpression"]]],null,{"statements":[[0," "],[6,"div"],[8],[0,"Selected expressions"],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"identifier-name",null,[["identifierInfo","identifierOccurrence","identifierElement","currentPackageId","isBinder","currentLineNumber","findReferences"],[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["selectedIdentifier"]],[22,["packageId"]],[22,["identifierOccurrence","isBinder"]],[22,["currentLineNumber"]],[22,["findReferences"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},{"statements":[[4,"unless",[[22,["hasSelectedExpression"]]],null,{"statements":[[0," "],[1,[26,"identifier-info",null,[["identifierInfo","identifierOccurrence","identifiers","currentLineNumber"],[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"expression-info",null,[["expressions","identifiers","currentLineNumber"],[[22,["expressions"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]}]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/haskell-module.hbs"}})})
-define("haskell-code-explorer/templates/components/identifier-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"zMkGyYS+",block:'{"symbols":[],"statements":[[4,"if",[[26,"or",[[22,["identifierInfo"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[6,"div"],[10,"class","identifier-info"],[8],[0,"\\n"],[4,"if",[[22,["identifierInfo"]]],null,{"statements":[[4,"if",[[22,["isNaughtyRecSel"]]],null,{"statements":[[0," "],[6,"i"],[8],[0,"This record selector can never be called because its type mentions a type variable that isn\'t in the result type of the constructor"],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[22,["identifierInfo","idType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null],[4,"if",[[26,"and",[[22,["identifierInfo"]],[22,["identifierOccurrence"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[6,"div"],[10,"style","height:10px"],[8],[9],[0,"\\n"]],"parameters":[]},null],[4,"if",[[26,"and",[[22,["identifierOccurrence"]],[22,["identifierOccurrence","idOccType"]]],null]],null,{"statements":[[0," "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber"],[[22,["identifierOccurrence","idOccType"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"div"],[10,"class","documentation"],[8],[0,"\\n "],[1,[22,["identifierInfo","doc"]],true],[0,"\\n "],[1,[20,"downloadedDocumentation"],true],[0,"\\n "],[9],[0,"\\n"],[4,"if",[[22,["identifierOccurrence","instanceResolution"]]],null,{"statements":[[0," "],[6,"div"],[10,"style","height:10px"],[8],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[6,"div"],[8],[0,"\\n"],[4,"if",[[22,["identifierOccurrence","instanceResolution"]]],null,{"statements":[[0," "],[1,[26,"instance-info",null,[["instance","identifiers","nestedLevel","currentLineNumber"],[[22,["identifierOccurrence","instanceResolution"]],[22,["identifiers"]],0,[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/identifier-info.hbs"}})}),define("haskell-code-explorer/templates/components/identifier-name",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"poprRbXj",block:'{"symbols":[],"statements":[[6,"div"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code-font break-word identifier-menu-item"],[11,"style",[20,"style"]],[8],[4,"if",[[22,["identifierInfo","demangledOccName"]]],null,{"statements":[[1,[22,["identifierInfo","demangledOccName"]],false]],"parameters":[]},{"statements":[[1,[20,"name"],false]],"parameters":[]}],[9],[0,"\\n"],[4,"unless",[[22,["isBinder"]]],null,{"statements":[[4,"if",[[22,["location"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","identifier-menu-item"],[8],[1,[20,"location"],false],[9],[0,"\\n "],[6,"span"],[10,"class","link identifier-menu-item"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition"],null]],[8],[0,"Go to definition"],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null],[4,"if",[[22,["isExternalIdentifier"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","link identifier-menu-item"],[11,"onmouseup",[26,"action",[[21,0,[]],"findReferences",[22,["identifierInfo"]],[22,["currentPackageId"]]],null]],[8],[0,"Find references"],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/identifier-name.hbs"}})}),define("haskell-code-explorer/templates/components/infinite-list",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"AVFRMQuE",block:'{"symbols":["element","&default"],"statements":[[4,"each",[[22,["renderedElements"]]],null,{"statements":[[0," "],[13,2,[[21,1,[]]]],[0,"\\n"]],"parameters":[1]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/infinite-list.hbs"}})}),define("haskell-code-explorer/templates/components/info-window",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"Xi4+uOqU",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","info-window"],[8],[0,"\\n "],[6,"div"],[10,"class","info-window-header"],[8],[0,"\\n "],[6,"div"],[10,"class","info-window-options"],[8],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"pin"]],[8],[4,"if",[[22,["isPinned"]]],null,{"statements":[[0,"Unpin"]],"parameters":[]},{"statements":[[0,"Pin"]],"parameters":[]}],[9],[0,"\\n "],[6,"a"],[10,"href","#"],[3,"action",[[21,0,[]],"close"]],[8],[0,"Close"],[9],[0,"\\n "],[9],[0,"\\n "],[13,1,["header"]],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","info-window-content"],[8],[0,"\\n "],[13,1,["body"]],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/info-window.hbs"}})}),define("haskell-code-explorer/templates/components/input-with-autocomplete",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"asEzRTQH",block:'{"symbols":["item","index","&default"],"statements":[[6,"div"],[10,"class","input-group"],[8],[0,"\\n "],[1,[26,"input",null,[["class","value","placeholder"],["form-control search-input",[22,["query"]],[22,["placeholder"]]]]],false],[0,"\\n "],[6,"div"],[10,"class","autocomplete-container"],[8],[0,"\\n"],[4,"if",[[22,["items"]]],null,{"statements":[[0," "],[6,"ul"],[10,"class","autocomplete-items"],[8],[0,"\\n"],[4,"each",[[22,["items"]]],null,{"statements":[[0," "],[6,"li"],[11,"class",[27,[[26,"if",[[26,"eq",[[21,2,[]],[22,["highlightedItemIndex"]]],null],"highlighted"],null]]]],[11,"onclick",[26,"action",[[21,0,[]],"goToDefinition",[21,1,[]]],null]],[8],[0,"\\n "],[6,"div"],[10,"class","autocomplete-item"],[8],[0,"\\n "],[13,3,[[21,1,[]]]],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1,2]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","input-group-append"],[8],[0,"\\n "],[6,"button"],[10,"id","search-input"],[10,"class","btn btn-outline-secondary"],[3,"action",[[21,0,[]],"onSubmit",[22,["query"]]]],[8],[1,[20,"searchButtonText"],false],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/input-with-autocomplete.hbs"}})}),define("haskell-code-explorer/templates/components/instance-info",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"uCPSf7BD",block:'{"symbols":["inst"],"statements":[[4,"if",[[22,["instance"]]],null,{"statements":[[0," "],[6,"div"],[11,"style",[20,"style"]],[8],[0,"\\n "],[6,"span"],[10,"class","source-code-font"],[8],[0,"\\n instance "],[1,[26,"type-signature",null,[["type","identifiers","currentLineNumber","noExpand"],[[22,["instance","instanceType"]],[22,["identifiers"]],[22,["currentLineNumber"]],true]]],false],[9],[0,"\\n ("],[6,"span"],[10,"class","link"],[11,"onclick",[26,"action",[[21,0,[]],"goToDefinition"],null]],[8],[0,"Go to definition"],[9],[0,")\\n"],[4,"each",[[22,["instance","instances"]]],null,{"statements":[[0," "],[1,[26,"instance-info",null,[["instance","identifiers","nestedLevel","currentLineNumber"],[[21,1,[]],[22,["identifiers"]],[22,["nextNestedLevel"]],[22,["currentLineNumber"]]]]],false],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/instance-info.hbs"}})}),define("haskell-code-explorer/templates/components/paginated-list",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"RRShkwZE",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","paginated-list-header"],[8],[0,"\\n "],[6,"span"],[8],[0,"Found "],[1,[20,"total"],false],[0," "],[1,[20,"foundWhere"],true],[9],[0,"\\n"],[4,"if",[[26,"or",[[22,["next"]],[22,["prev"]]],null]],null,{"statements":[[0,"  \\n  \\n "],[6,"span"],[8],[0,"\\n "],[4,"if",[[22,["first"]]],null,{"statements":[[6,"button"],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["first","href"]]]],[8],[0,"<<"],[9]],"parameters":[]},null],[0,"\\n "],[4,"if",[[22,["prev"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["prev","href"]]]],[8],[0,"<"],[9]],"parameters":[]},null],[0,"\\n "],[1,[20,"firstItemOnPage"],false],[0," - "],[1,[20,"lastItemOnPage"],false],[0,"\\n "],[4,"if",[[22,["next"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["next","href"]]]],[8],[0,">"],[9]],"parameters":[]},null],[0,"\\n "],[4,"if",[[22,["last"]]],null,{"statements":[[6,"button"],[10,"button",""],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"update",[22,["last","href"]]]],[8],[0,">>"],[9]],"parameters":[]},null],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[9],[0,"\\n"],[6,"div"],[10,"class","paginated-list-content"],[8],[0,"\\n "],[13,1,[[22,["items"]]]],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/paginated-list.hbs"}})}),define("haskell-code-explorer/templates/components/resizable-panel",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"tpKUpnLR",block:'{"symbols":["&default"],"statements":[[6,"div"],[10,"class","absolute-container"],[8],[13,1,[[26,"action",[[21,0,[]],"hide"],null]]],[0,"\\n "],[6,"div"],[11,"onclick",[26,"action",[[21,0,[]],"hide"],null]],[10,"class","show-left-panel-button"],[8],[0,"\\n "],[1,[20,"hideButtonLabel"],true],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/resizable-panel.hbs"}})}),define("haskell-code-explorer/templates/components/text-file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"yYFMOyZb",block:'{"symbols":[],"statements":[[6,"div"],[10,"class","source-code-container"],[8],[0,"\\n"],[1,[20,"html"],true],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/text-file.hbs"}})}),define("haskell-code-explorer/templates/components/type-component",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"nSuhY152",block:'{"symbols":[],"statements":[[4,"if",[[26,"and",[[22,["expanded"]],[22,["identifierInfo"]]],null]],null,{"statements":[[0,"("]],"parameters":[]},null],[0,"\\n"],[6,"span"],[11,"class",[27,["source-code ",[20,"linkClass"]]]],[11,"onmouseup",[26,"action",[[21,0,[]],"onmouseup"],null]],[8],[1,[20,"occName"],false],[9],[0,"\\n"],[4,"if",[[26,"and",[[22,["expanded"]],[22,["identifierInfo"]]],null]],null,{"statements":[[0," :: "],[1,[26,"type-signature",null,[["type","identifiers","noExpand"],[[22,["identifierInfo","idType"]],[22,["identifiers"]],true]]],false],[0,")"]],"parameters":[]},null],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-component.hbs"}})}),define("haskell-code-explorer/templates/components/type-signature-text",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"+rUvtMa3",block:'{"symbols":["typeComponent"],"statements":[[4,"each",[[22,["components"]]],null,{"statements":[[4,"if",[[26,"eq",[[21,1,["tag"]],"Text"],null]],null,{"statements":[[1,[21,1,["contents"]],false]],"parameters":[]},{"statements":[[1,[21,1,["name"]],false]],"parameters":[]}]],"parameters":[1]},null],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-signature-text.hbs"}})}),define("haskell-code-explorer/templates/components/type-signature",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"SdJzinj9",block:'{"symbols":["typeComponent"],"statements":[[4,"each",[[22,["components"]]],null,{"statements":[[4,"if",[[26,"eq",[[21,1,["tag"]],"Text"],null]],null,{"statements":[[6,"span"],[10,"class","source-code"],[8],[1,[21,1,["contents"]],false],[9]],"parameters":[]},{"statements":[[1,[26,"type-component",null,[["occName","internalId","identifiers","currentLineNumber"],[[21,1,["name"]],[21,1,["internalId"]],[22,["identifiers"]],[22,["currentLineNumber"]]]]],false]],"parameters":[]}]],"parameters":[1]},null],[0,"\\n"],[4,"unless",[[22,["noExpand"]]],null,{"statements":[[4,"if",[[22,["type","componentsExpanded"]]],null,{"statements":[[0," "],[6,"div"],[10,"style","margin-top:5px"],[8],[0,"\\n "],[6,"button"],[10,"class","btn btn-outline-secondary btn-sm"],[3,"action",[[21,0,[]],"toggleExpandTypeSynonyms"]],[8],[1,[20,"expandTypeSynonymsLabel"],false],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null]],"parameters":[]},null]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/components/type-signature.hbs"}})}),define("haskell-code-explorer/templates/package",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"VYY6w03q",block:'{"symbols":["section","files","file","reference","ref","hide","identifier"],"statements":[[6,"div"],[10,"class","flex-container"],[8],[0,"\\n "],[6,"div"],[10,"class","package-header"],[8],[0,"\\n "],[6,"span"],[10,"class","package-header-package-name"],[8],[4,"link-to",["package",[22,["model"]]],null,{"statements":[[1,[22,["model","id"]],false]],"parameters":[]},null],[9],[0,"\\n "],[6,"span"],[10,"class","package-header-input"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search","Identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,7,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,7,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,7,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,7,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,7,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,7,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,7,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[7]},null],[0," "],[9],[0,"\\n"],[4,"radio-button",null,[["value","groupValue"],["currentPackage",[22,["searchMode"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"in "],[1,[22,["model","id"]],false],[9],[0,"\\n"]],"parameters":[]},null],[4,"radio-button",null,[["value","groupValue"],["allPackages",[22,["searchMode"]]]],{"statements":[[0," "],[6,"span"],[8],[0,"in all packages"],[9],[0,"\\n"]],"parameters":[]},null],[4,"if",[[22,["currentFile"]]],null,{"statements":[[0," "],[6,"span"],[10,"class","package-header-filename"],[8],[0,"\\n "],[1,[20,"currentFile"],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","package-content"],[8],[0,"\\n"],[4,"resizable-panel",null,[["class","alsoResizeElementId"],["left-panel","#right-panel"]],{"statements":[[0," "],[6,"div"],[10,"class","file-tree-container"],[8],[0,"\\n "],[1,[26,"file-tree",null,[["directoryTree","openFile","currentFile","packageId","hide"],[[22,["model","directoryTree"]],"openFile",[22,["currentFile"]],[22,["model","id"]],[21,6,[]]]]],false],[0,"\\n "],[9],[0,"\\n"]],"parameters":[6]},null],[0," "],[6,"div"],[10,"id","right-panel"],[10,"class","right-panel"],[8],[0,"\\n "],[6,"div"],[10,"id","file-container"],[10,"class","file-container"],[8],[0,"\\n "],[1,[20,"outlet"],false],[0,"\\n "],[9],[0,"\\n"],[4,"bottom-panel",null,[["visible","topPanelElementId","containerElementId"],[[22,["bottomPanelVisible"]],"#file-container","#right-panel"]],{"statements":[[4,"if",[[26,"eq",[[21,1,[]],"header"],null]],null,{"statements":[[0," References to "],[6,"b"],[8],[6,"span"],[10,"class","source-code"],[8],[1,[20,"occName"],false],[9],[9],[0,"\\n"],[4,"if",[[22,["locationInfo","packageId"]]],null,{"statements":[[0," (defined in "],[6,"b"],[8],[1,[22,["locationInfo","packageId","name"]],false],[0,"-"],[1,[22,["locationInfo","packageId","version"]],false],[9],[0," / "],[6,"b"],[8],[1,[22,["locationInfo","moduleName"]],false],[9],[0,")\\n"]],"parameters":[]},null]],"parameters":[]},{"statements":[[0," "],[6,"div"],[10,"id","references-packages"],[10,"class","references-packages"],[8],[0,"\\n"],[4,"if",[[22,["globalReferences"]]],null,{"statements":[[0," "],[6,"span"],[8],[0,"\\n"],[4,"each",[[22,["globalReferences"]]],null,{"statements":[[0," "],[6,"div"],[8],[0,"\\n "],[6,"a"],[11,"id",[27,["references-package-",[21,5,["packageId"]]]]],[11,"class",[27,[[26,"if",[[26,"eq",[[21,5,["packageId"]],[22,["packageId"]]],null],"selected"],null]]]],[10,"href","#"],[3,"action",[[21,0,[]],"updateReferences",[21,5,["packageId"]],[22,["externalId"]],[22,["occName"]],[22,["locationInfo"]],true]],[8],[0,"\\n "],[1,[21,5,["packageId"]],false],[0,"\\n "],[9],[0," ("],[1,[21,5,["count"]],false],[0,")\\n "],[9],[0,"\\n"]],"parameters":[5]},null],[0," "],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[10,"class","references"],[8],[0,"\\n"],[4,"paginated-list",null,[["url","foundWhere"],[[22,["referencesUrl"]],[26,"concat",["in <b>",[22,["packageId"]],"</b>"],null]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,2,[]]],null,{"statements":[[0," "],[6,"li"],[8],[0,"\\n "],[6,"div"],[10,"class","file-name"],[8],[6,"a"],[11,"href",[27,["/package/",[20,"packageId"],"/show/",[21,3,["name"]]]]],[8],[1,[21,3,["name"]],false],[9],[9],[0,"\\n"],[4,"each",[[21,3,["references"]]],null,{"statements":[[0," "],[6,"a"],[10,"class","source-code source-code-snippet"],[11,"href",[27,["/package/",[20,"packageId"],"/show/",[21,3,["name"]],"#L",[21,4,["idSrcSpan","line"]]]]],[8],[1,[21,4,["sourceCodeHtml"]],true],[9],[0,"\\n"]],"parameters":[4]},null],[0," "],[9],[0,"\\n"]],"parameters":[3]},null],[0," "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[]}]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package.hbs"}})}),define("haskell-code-explorer/templates/package/index",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"O2wWOYbc",block:'{"symbols":["module"],"statements":[[6,"div"],[10,"class","package-modules"],[8],[0,"\\n "],[6,"div"],[10,"class","module-search-input"],[8],[0,"\\n "],[1,[26,"input",null,[["class","type","value","placeholder"],["form-control","text",[22,["query"]],"Module name"]]],false],[0,"\\n "],[9],[0,"\\n "],[6,"ul"],[10,"class","modules"],[8],[0,"\\n"],[4,"each",[[22,["modulesFiltered"]]],null,{"statements":[[0," "],[6,"li"],[8],[0,"\\n "],[6,"a"],[11,"href",[27,["/package/",[22,["model","id"]],"/show/",[21,1,[]]]]],[8],[1,[21,1,[]],false],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/index.hbs"}})}),define("haskell-code-explorer/templates/package/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"t4+evzG+",block:'{"symbols":["identifiers","identifier"],"statements":[[6,"div"],[10,"class","search-results-header"],[8],[0,"\\n Query : "],[1,[22,["model","query"]],false],[0,"\\n"],[9],[0,"\\n"],[6,"div"],[10,"class","search-results-content"],[8],[0,"\\n"],[4,"paginated-list",null,[["url"],[[22,["model","url"]]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,1,[]]],null,{"statements":[[0," "],[6,"li"],[10,"class","search-result"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[6,"b"],[8],[1,[21,2,["demangledOccName"]],false],[9],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","#"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition",[21,2,["locationInfo"]]],null]],[8],[0,"Go to definition"],[9],[9],[0,"\\n "],[6,"div"],[10,"class","identifier-module"],[8],[0,"\\n"],[4,"if",[[21,2,["locationInfo","modulePath"]]],null,{"statements":[[0," Defined in "],[6,"a"],[11,"href",[27,["/package/",[21,2,["locationInfo","packageId","name"]],"-",[21,2,["locationInfo","packageId","version"]],"/show/",[21,2,["locationInfo","modulePath"]]]]],[8],[1,[21,2,["locationInfo","modulePath"]],false],[9],[0,"\\n"]],"parameters":[]},null],[0," "],[9],[0,"\\n "],[6,"div"],[8],[1,[21,2,["doc"]],true],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/search.hbs"}})}),define("haskell-code-explorer/templates/package/show",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"aR1d98il",block:'{"symbols":[],"statements":[[1,[20,"outlet"],false],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/show.hbs"}})}),define("haskell-code-explorer/templates/package/show/file",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"n+gY0z10",block:'{"symbols":[],"statements":[[4,"if",[[22,["model","isHaskellModule"]]],null,{"statements":[[0," "],[1,[26,"haskell-module",null,[["path","name","packageId","componentId","html","identifiers","occurrences","colorTheme","declarations","findReferences"],[[22,["model","id"]],[22,["model","name"]],[22,["model","packageId"]],[22,["model","componentId"]],[22,["model","sourceCodeHtml"]],[22,["model","identifiers"]],[22,["model","occurrences"]],[22,["settings","colorTheme"]],[22,["model","declarations"]],[26,"action",[[21,0,[]],"findReferences"],null]]]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"text-file",null,[["text","path"],[[22,["model","text"]],[22,["model","id"]]]]],false],[0,"\\n"]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/package/show/file.hbs"}})}),define("haskell-code-explorer/templates/packages",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"mEyAL/ia",block:'{"symbols":["package","version","index","identifier"],"statements":[[6,"div"],[10,"class","flex-container container"],[8],[0,"\\n "],[6,"div"],[8],[0,"\\n "],[6,"div"],[10,"class","global-identifier-search-form"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search in all packages","Haskell identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,4,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,4,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,4,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,4,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,4,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,4,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,4,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[4]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n "],[6,"div"],[10,"class","package-search-form"],[8],[0,"\\n "],[1,[26,"input",null,[["class","type","value","placeholder"],["form-control","text",[22,["query"]],"Package name"]]],false],[0,"\\n "],[6,"span"],[8],[0,"Number of packages : "],[1,[22,["packages","length"]],false],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"id","packages"],[10,"class","packages"],[8],[0,"\\n "],[6,"ul"],[8],[0,"\\n"],[4,"infinite-list",null,[["containerElementId","elements","perPage"],["packages",[22,["packages"]],80]],{"statements":[[0," "],[6,"li"],[8],[0,"\\n"],[4,"each",[[21,1,["versions"]]],null,{"statements":[[4,"link-to",["package",[26,"concat",[[21,1,["name"]],"-",[21,2,[]]],null]],null,{"statements":[[4,"if",[[26,"gt",[[21,3,[]],0],null]],null,{"statements":[[0," "],[1,[21,2,[]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,1,["name"]],false],[0,"-"],[1,[21,2,[]],false],[0,"\\n"]],"parameters":[]}]],"parameters":[]},null]],"parameters":[2,3]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/packages.hbs"}})}),define("haskell-code-explorer/templates/search",["exports"],function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.HTMLBars.template({id:"OGWU6vcF",block:'{"symbols":["identifiers","identifier","identifier"],"statements":[[6,"div"],[10,"class","flex-container container"],[8],[0,"\\n "],[6,"div"],[10,"style","position:relative;height:100%"],[8],[0,"\\n "],[6,"div"],[10,"class","absolute-container"],[8],[0,"\\n "],[6,"div"],[10,"class","global-identifier-search-form"],[8],[0,"\\n"],[4,"input-with-autocomplete",null,[["onSubmit","createSearchUrlFunction","maxItems","selectItem","searchButtonText","placeholder"],[[26,"action",[[21,0,[]],"searchIdentifier"],null],[22,["createSearchUrlFunction"]],10,[26,"action",[[21,0,[]],"showIdentifier"],null],"Search in all packages","Haskell identifier"]],{"statements":[[0," "],[6,"span"],[10,"class","source-code-font"],[8],[1,[21,3,["demangledOccName"]],false],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,3,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[10,"class","module-name"],[8],[0,"\\n "],[6,"b"],[8],[1,[21,3,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,3,["locationInfo","packageId","version"]],false],[9],[0,"\\n"],[4,"if",[[21,3,["locationInfo","modulePath"]]],null,{"statements":[[0," "],[1,[21,3,["locationInfo","modulePath"]],false],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[21,3,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n"]],"parameters":[3]},null],[0," "],[9],[0,"\\n "],[6,"div"],[8],[0,"\\n Query : "],[1,[22,["model","query"]],false],[0,"\\n "],[9],[0,"\\n "],[6,"div"],[10,"class","global-search-results-content"],[8],[0,"\\n"],[4,"paginated-list",null,[["url"],[[22,["model","url"]]]],{"statements":[[0," "],[6,"ul"],[8],[0,"\\n"],[4,"each",[[21,1,[]]],null,{"statements":[[0," "],[6,"li"],[10,"class","search-result"],[8],[0,"\\n "],[6,"span"],[10,"class","source-code"],[8],[6,"b"],[8],[1,[21,2,["demangledOccName"]],false],[9],[0," :: "],[1,[26,"type-signature-text",null,[["components"],[[21,2,["idType","components"]]]]],false],[9],[0,"\\n "],[6,"div"],[8],[6,"a"],[10,"href","#"],[11,"onmouseup",[26,"action",[[21,0,[]],"goToDefinition",[21,2,["locationInfo"]]],null]],[8],[0,"Go to definition"],[9],[9],[0,"\\n "],[6,"div"],[10,"class","identifier-module"],[8],[0,"\\n"],[4,"if",[[21,2,["locationInfo","modulePath"]]],null,{"statements":[[0," Defined in "],[6,"b"],[8],[0," "],[1,[21,2,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,2,["locationInfo","packageId","version"]],false],[0," "],[9],[0," "],[6,"a"],[11,"href",[27,["/package/",[21,2,["locationInfo","packageId","name"]],"-",[21,2,["locationInfo","packageId","version"]],"/show/",[21,2,["locationInfo","modulePath"]]]]],[8],[1,[21,2,["locationInfo","modulePath"]],false],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," Defined in "],[6,"b"],[8],[0," "],[1,[21,2,["locationInfo","packageId","name"]],false],[0,"-"],[1,[21,2,["locationInfo","packageId","version"]],false],[0," "],[9],[0," "],[1,[21,2,["locationInfo","moduleName"]],false],[0,"\\n"]],"parameters":[]}],[0," "],[9],[0,"\\n "],[6,"div"],[8],[1,[21,2,["doc"]],true],[9],[0,"\\n "],[9],[0,"\\n"]],"parameters":[2]},null],[0," "],[9],[0,"\\n"]],"parameters":[1]},null],[0," "],[9],[0,"\\n "],[9],[0,"\\n "],[9],[0,"\\n"],[9],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"haskell-code-explorer/templates/search.hbs"}})}),define("haskell-code-explorer/utils/api-urls",["exports","haskell-code-explorer/config/environment"],function(e,t){function n(e){return"."===e?"%20%2E":".."===e?"%20%2E%2E":e.replace(/\./g,"%2E")}Object.defineProperty(e,"__esModule",{value:!0}),e.urls=void 0
-e.urls={packageInfoUrl:function(e){return t.default.APP.staticUrlPrefix+"/"+e+"/"+t.default.APP.haskellCodeExplorerDirectory+"/packageInfo.json"},fileUrl:function(e,n){return t.default.APP.staticUrlPrefix+"/"+e+"/"+n},haskellModuleUrl:function(e,n){return t.default.APP.staticUrlPrefix+"/"+e+"/"+t.default.APP.haskellCodeExplorerDirectory+"/"+encodeURIComponent(encodeURIComponent(n))+".json"},packagesUrl:t.default.APP.apiUrlPrefix+"/packages",identifierDefinitionSiteUrl:function(e,o,s,l,i){return t.default.APP.apiUrlPrefix+"/definitionSite/"+e+"/"+s+"/"+o+"/"+l+"/"+n(encodeURIComponent(i))},modulePathUrl:function(e,n,o){return t.default.APP.apiUrlPrefix+"/modulePath/"+e+"/"+o+"/"+n},expressionsUrl:function(e,n,o,s,l,i){return t.default.APP.apiUrlPrefix+"/expressions/"+e+"/"+encodeURIComponent(n)+"/"+o+"/"+s+"/"+l+"/"+i},referencesUrl:function(e,n){return t.default.APP.apiUrlPrefix+"/references/"+e+"/"+encodeURIComponent(n)},identifierSearchUrl:function(e,o){return t.default.APP.apiUrlPrefix+"/identifiers/"+e+"/"+n(encodeURIComponent(o))},globalReferencesUrl:function(e){return t.default.APP.apiUrlPrefix+"/globalReferences/"+encodeURIComponent(e)},globalIdentifiersUrl:function(e){return t.default.APP.apiUrlPrefix+"/globalIdentifiers/"+n(encodeURIComponent(e))},hoogleDocsUrl:function(e,o,s,l){return t.default.APP.apiUrlPrefix+"/hoogleDocs/"+e+"/"+encodeURIComponent(o)+"/"+s+"/"+n(encodeURIComponent(l))}}}),define("haskell-code-explorer/utils/color-themes",["exports"],function(e){function t(e){return"\n body {\n color: "+e.defaultColor+" !important;\n background-color: "+e.backgroundColor+" !important;\n }\n input {\n color: "+e.defaultColor+" !important;\n background-color: "+e.backgroundColor+" !important;\n border-color: "+e.borderColor+" !important;\n }\n .package-content {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .header a {\n color : "+e.menuLinkColor+" !important;\n }\n a {\n color: "+e.typeColor+" !important;\n }\n span.link {\n color: "+e.typeColor+" !important;\n }\n .header {\n background-color: "+e.menuColor+" !important;\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .declarations-content {\n background-color: "+e.navigationPanelColor+" !important;\n border: 1px solid "+e.borderColor+" !important;\n }\n .declarations-header {\n background-color: "+e.navigationPanelColor+" !important;\n border: 1px solid "+e.borderColor+" !important;\n }\n li.declaration {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .left-panel {\n background-color: "+e.navigationPanelColor+" !important;\n border-right: 1px solid "+e.borderColor+" !important;\n }\n .show-left-panel-button {\n background-color: "+e.navigationPanelColor+" !important;\n border-right:1px solid "+e.borderColor+" !important;\n border-bottom:1px solid "+e.borderColor+" !important;\n }\n .right-panel {\n background-color: "+e.backgroundColor+" !important;\n }\n a.jstree-anchor {\n color: "+e.defaultColor+" !important;\n }\n .declaration > a {\n color: "+e.defaultColor+" !important;\n }\n .highlighted-line {\n background : "+e.highlightedLineColor+" !important;\n }\n table.source-code {\n background-color: "+e.backgroundColor+" !important;\n color: "+e.defaultColor+" !important;\n }\n .jstree-clicked {\n background-color: "+e.backgroundColor+" !important;\n }\n .jstree-hovered {\n background-color: "+e.backgroundColor+" !important;\n }\n ul.autocomplete-items {\n background-color: "+e.backgroundColor+" !important;\n border-top: 1px solid "+e.borderColor+" !important;\n border-left: 1px solid "+e.borderColor+" !important;\n border-right: 1px solid "+e.borderColor+" !important;\n }\n ul.autocomplete-items > li {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n ul.autocomplete-items > li:hover {\n background-color: "+e.highlightedLineColor+" !important;\n }\n ul.autocomplete-items > li.highlighted {\n background-color: "+e.highlightedLineColor+" !important;\n }\n .source-code-snippet {\n color: "+e.defaultColor+" !important;\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .source-code-snippet:hover {\n background-color: "+e.highlightedLineColor+" !important;\n }\n .bottom-panel {\n background-color: "+e.backgroundColor+" !important;\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .bottom-panel-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .paginated-list-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n li.search-result {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .search-results-header {\n border-bottom: 1px solid "+e.borderColor+" !important;\n }\n .info-window-content {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .info-window {\n border: 1px solid "+e.borderColor+" !important;\n background-color:"+e.infoWindowColor+" !important;\n color: "+e.defaultColor+" !important;\n }\n .type-info {\n border-top: 1px solid "+e.borderColor+" !important;\n }\n .references-packages {\n border-right:1px solid "+e.borderColor+" !important;\n }"}function n(e){var n=document.createElement("style")
-n.type="text/css",n.innerHTML=t(e),n.id="color-theme"
-var o=document.querySelector("style#color-theme")
-o&&o.parentElement.removeChild(o),document.getElementsByTagName("head")[0].appendChild(n)}Object.defineProperty(e,"__esModule",{value:!0})
-var o={id:"darkTheme",name:"Dark theme",description:"Dark theme (Monokai based)",defaultColor:"#F8F8F2",backgroundColor:"#272822",typeColor:"#66D9EF",literalColor:"#E6DB74",topLevelIdFromCurrentModule:"#A6E22E",localIdentifierColor:["#F0A3FF","#0075DC","#993F00","#2BCE48","#FFCC99","#808080","#94FFB5","#8F7C00","#C20088","#FFA405","#FFA8BB","#426600","#FF0010","#5EF1F2","#00998F","#E0FF66","#FFFF80","#FFFF00","#FF5005"],menuColor:"#3c3b37",menuLinkColor:"#F8F8F2",infoWindowColor:"#3c3b37",navigationPanelColor:"#3c3b37",linkColor:"#0366d6",borderColor:"#535557",highlightedLineColor:"#4a4a4a"},s={id:"lightTheme",name:"Light theme",description:"Light theme (Github based)",defaultColor:"#24292e",backgroundColor:"#ffffff",typeColor:"#005cc5",literalColor:"#032f62",topLevelIdFromCurrentModule:"#6f42c1",localIdentifierColor:["#005C31","#2BCE48","#808080","#8F7C00","#C20088","#FFA405","#ffa8bb","#426600","#FF0010","#09d7d8","#00998F","#990000","#FF5005"],menuColor:"#f2f4f8",menuLinkColor:"#24292e",infoWindowColor:"#f2f4f8",navigationPanelColor:"#f2f4f8",linkColor:"#0366d6",borderColor:"#e1e4e8",highlightedLineColor:"#eaeaea"},l={darkTheme:o,lightTheme:s}
-e.updateColorThemeCss=n,e.colorThemeToCss=t,e.themes=l}),define("haskell-code-explorer/utils/go-to-definition",["exports"],function(e){function t(e){var t=e.modulePath,n=e.packageId.name+"-"+e.packageId.version,o=""
-return 1!=e.startLine&&(o="#L"+e.startLine),"/package/"+n+"/show/"+t+o}function n(e,t){var n=""
-return"Mod"!==t.entity&&(n="#"+encodeURIComponent(t.name)),"https://hackage.haskell.org/package/"+e+"/docs/src/"+t.moduleName+".html"+n}function o(e,t){return 2===e?window.open(t,"_blank"):1==e&&(window.location=t),!1}function s(e){if(e){var t=window.location.origin+window.location.pathname+"#L"+e
-location.href!=t&&(window.location.hash="#L"+e)}}function l(e,l,i,r){if("ExactLocation"===l.tag){var a=t(l)
-l.startLine!==r&&s(r),o(i,a)}else if("ApproximateLocation"===l.tag&&0!==l.moduleName.indexOf("Paths_")){var c=l.packageId.name+"-"+l.packageId.version
-"Mod"===l.entity?e.loadDefinitionSite(c,l.moduleName,l.componentId,l.entity,l.moduleName).then(function(e){var t=e.location.packageId.name+"-"+e.location.packageId.version
-o(i,"/package/"+t+"/show/"+e.location.modulePath)}).catch(function(){o(i,n(c,l))}):e.loadDefinitionSite(c,l.moduleName,l.componentId,l.entity,l.name).then(function(e){if("ExactLocation"===e.location.tag){var a=t(e.location)
-l.startLine!==r&&s(r),o(i,a)}else s(r),o(i,n(c,l))}).catch(function(e){console.log(e),s(r),o(i,n(c,l))})}else alert("No location info")}Object.defineProperty(e,"__esModule",{value:!0}),e.goToDefinition=l,e.openUrl=o}),define("haskell-code-explorer/utils/language-extensions",["exports"],function(e){function t(e){return e.replace(o,function(e){var t=n[e]
-return n?"<a target='_blank' title='"+t.description+"' href='"+t.link+"'>"+e+"</a>":e})}Object.defineProperty(e,"__esModule",{value:!0})
-var n={AllowAmbiguousTypes:{description:"Allow the user to write ambiguous types, and the type inference engine to infer them.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XAllowAmbiguousTypes"},ApplicativeDo:{description:"Allows do-notation for types that are Applicative as well as Monad. When enabled, desugaring do notation tries to use (*) and fmap and join as far as possible.",link:"https://ghc.haskell.org/trac/ghc/wiki/ApplicativeDo#Summary"},Arrows:{description:"Enable arrow notation.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XArrows"},AutoDeriveTypeable:{description:"(deprecated) Deprecated in favour of DeriveDataTypeable.",link:"https://haskell.org/ghc/docs/7.8.4/html/users_guide/deriving.html#auto-derive-typeable"},BangPatterns:{description:"Enable a form of pattern which forces evaluation before an attempted match, and a form of strict let/where binding.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XBangPatterns"},BinaryLiterals:{description:"Allow the use of binary integer literal syntax (e.g. 0b11001001 to denote 201).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XBinaryLiterals"},BlockArguments:{description:"Allow do blocks etc. in argument position.",link:"https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0010-block-arguments.rst#blockarguments-extension"},CApiFFI:{description:"Allow use of CAPI FFI calling convention (foreign import capi).",link:"https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#the-capi-calling-convention"},CPP:{description:"Run the C preprocessor on Haskell source code.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-pragma"},ConstrainedClassMethods:{description:"Allow a class method's type to place additional constraints on a class type variable.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XConstrainedClassMethods"},ConstraintKinds:{description:"Allow type classimplicit parameterequality constraints to be used as types with the special kind constraint. Also generalise the (ctxt => ty) syntax so that any type of kind constraint can occur before the arrow.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XConstraintKinds"},DataKinds:{description:"Enable datatype promotion.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDataKinds"},DatatypeContexts:{description:"Allow contexts to be put on datatypes, e.g. the Eq a in data Eq a => Set a = NilSet | ConsSet a (Set a).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDatatypeContexts"},DefaultSignatures:{description:"Enable support for default signatures.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDefaultSignatures"},DeriveAnyClass:{description:"Enable deriving for any class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveAnyClass"},DeriveDataTypeable:{description:"Enable deriving for classes Typeable and Data.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveDataTypeable"},DeriveFoldable:{description:"Enable deriving for the Foldable class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveFoldable"},DeriveFunctor:{description:"Enable deriving for the Functor class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveFunctor"},DeriveGeneric:{description:"Enable deriving for Generic and Generic1.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveGeneric"},DeriveLift:{description:"Enable deriving for the Lift class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveLift"},DeriveTraversable:{description:"Enable deriving for the Traversable class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDeriveTraversable"},DerivingStrategies:{description:"Allow multiple deriving clauses, each optionally qualified with a strategy.",link:"https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/DerivingStrategies"},DisambiguateRecordFields:{description:"Allow a record field name to be disambiguated by the type of the record it's in.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XDisambiguateRecordFields"},DoAndIfThenElse:{description:"Improve the layout rule when if expressions are used in a do block.",link:"https://prime.haskell.org/wiki/DoAndIfThenElse"},DoRec:{description:"(deprecated) Deprecated in favour of RecursiveDo.",link:"http://hackage.haskell.org/package/Cabal-2.4.1.0/docs/Language-Haskell-Extension.html#v:RecursiveDo"},DuplicateRecordFields:{description:"Allow records to use duplicated field labels for accessors.",link:"https://ghc.haskell.org/trac/ghc/wiki/Records/OverloadedRecordFields/DuplicateRecordFields"},EmptyCase:{description:"Enable case expressions that have no alternatives. Also applies to lambda-case expressions if they are enabled.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XEmptyCase"},EmptyDataDecls:{description:"Allow data type declarations with no constructors.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XEmptyDataDecls"},ExistentialQuantification:{description:"Allow existentially-quantified data constructors.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExistentialQuantification"},ExplicitForAll:{description:"Make forall a keyword in types, which can be used to give the generalisation explicitly.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExplicitForAll"},ExplicitNamespaces:{description:"Enable explicit namespaces in module import/export lists.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XExplicitNamespaces"},ExtendedDefaultRules:{description:"Allow default instantiation of polymorphic types in more situations.",link:"http://downloads.haskell.org/~ghc/latest/docs/html/users_guide/ghci.html#type-defaulting-in-ghci"},ExtensibleRecords:{description:'Enable the "Trex" extensible records system.',link:"http://haskell.org/hugs/pages/users_guide/hugs-only.html#TREX"},FlexibleContexts:{description:"Relax some restrictions on the form of the context of a type signature.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFlexibleContexts"},FlexibleInstances:{description:"Relax some restrictions on the form of the context of an instance declaration.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFlexibleInstances"},ForeignFunctionInterface:{description:"Enable the Foreign Function Interface. In GHC, implements the standard Haskell 98 Foreign Function Interface Addendum, plus some GHC-specific extensions.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#language-pragma"},FunctionalDependencies:{description:"Allow a specification attached to a multi-parameter type class which indicates that some parameters are entirely determined by others. The implementation will check that this property holds for the declared instances, and will use this property to reduce ambiguity in instance resolution.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XFunctionalDependencies"},GADTSyntax:{description:"Enable GADT syntax for declaring ordinary algebraic datatypes.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XGADTSyntax"},GADTs:{description:"Enable generalized algebraic data types, in which type variables may be instantiated on a per-constructor basis. Implies GADTSyntax.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#generalised-algebraic-data-types-gadts"},GHCForeignImportPrim:{description:"Allow GHC primops, written in C--, to be imported into a Haskell file.",link:"https://ghc.haskell.org/trac/ghc/wiki/Commentary/PrimOps"},GeneralizedNewtypeDeriving:{description:"Allow a type declared with newtype to use deriving for any class with an instance for the underlying type.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XGeneralizedNewtypeDeriving"},Generics:{description:"(deprecated) Enable generic type classes, with default instances defined in terms of the algebraic structure of a type.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#generic-classes"},HereDocuments:{description:"Enable an alternate syntax for string literals, with string templating.",link:"http://haskell.org/hugs/pages/users_guide/here-documents.html"},HexFloatLiterals:{description:"Allow use of hexadecimal literal notation for floating-point values.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#hex-float-literals"},ImplicitParams:{description:"Enable implicit function parameters with dynamic scope.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XImplicitParams"},ImplicitPrelude:{description:"Enable the implicit importing of the module Prelude. When disabled, when desugaring certain built-in syntax into ordinary identifiers, use whatever is in scope rather than the Prelude -- version.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#rebindable-syntax-and-the-implicit-prelude-import"},ImpredicativeTypes:{description:"(deprecated) Allow a type variable to be instantiated at a polymorphic type.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XImpredicativeTypes"},IncoherentInstances:{description:"Implies OverlappingInstances. Allow the implementation to choose an instance even when it is possible that further instantiation of types will lead to a more specific instance being applicable.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XIncoherentInstances"},InstanceSigs:{description:"Allow type signatures to be specified in instance declarations.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XInstanceSigs"},InterruptibleFFI:{description:"Enable interruptible FFI.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/ffi-chap.html#interruptible-foreign-calls"},KindSignatures:{description:"Allow an explicit kind signature giving the kind of types over which a type variable ranges.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XKindSignatures"},LambdaCase:{description:"Enable support lambda-case expressions.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XLambdaCase"},LiberalTypeSynonyms:{description:"Defer validity checking of types until after expanding type synonyms, relaxing the constraints on how synonyms may be used.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XLiberalTypeSynonyms"},MagicHash:{description:"Allow the character # as a postfix modifier on identifiers. Also enables literal syntax for unboxed values.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMagicHash"},MonadComprehensions:{description:"Enable monad comprehensions, which generalise the list comprehension syntax to work for any monad.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMonadComprehensions"},MonadFailDesugaring:{description:"A temporary extension to help library authors check if their code will compile with the new planned desugaring of fail.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-MonadFailDesugaring"},MonoLocalBinds:{description:"Local (let and where) bindings are monomorphic.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMonoLocalBinds"},MonoPatBinds:{description:"(deprecated) Has no effect.",link:"https://downloads.haskell.org/~ghc/7.6.3/docs/html/users_guide/monomorphism.html"},MonomorphismRestriction:{description:"Enable the dreaded monomorphism restriction.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNoMonomorphismRestriction"},MultiParamTypeClasses:{description:"Allow multiple parameters in a type class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMultiParamTypeClasses"},MultiWayIf:{description:"Enable support for multi-way if-expressions.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XMultiWayIf"},NPlusKPatterns:{description:"Support for patterns of the form n + k, where k is an integer literal.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNPlusKPatterns"},NamedFieldPuns:{description:"Enable syntax for implicitly binding local names corresponding to the field names of a record. Puns bind specific names, unlike RecordWildCards.",link:"https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#extension-NamedFieldPuns"},NamedWildCards:{description:"Allow named placeholders written with a leading underscore inside type signatures. Wildcards with the same name unify to the same type.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNamedWildCards"},NegativeLiterals:{description:"Desugars negative literals directly (without using negate).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNegativeLiterals"},NewQualifiedOperators:{description:"(deprecated) Change the syntax for qualified infix operators.",link:"http://www.haskell.org/ghc/docs/6.12.3/html/users_guide/syntax-extns.html#new-qualified-operators"},NondecreasingIndentation:{description:"Enable non-decreasing indentation for do blocks.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/bugs.html#context-free-syntax"},NullaryTypeClasses:{description:"Enable support for type classes with no type parameter.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNullaryTypeClasses"},NumDecimals:{description:"Allow the use of floating literal syntax for all instances of Num, including Int and Integer.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XNumDecimals"},NumericUnderscores:{description:"Allow use of underscores in numeric literals.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-NumericUnderscores"},OverlappingInstances:{description:"Allow overlapping class instances, provided there is a unique most specific instance for each use.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverlappingInstances"},OverloadedLabels:{description:"Allows use of the #label syntax.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-OverloadedLabels"},OverloadedLists:{description:"Enable overloading of list literals, arithmetic sequences and list patterns using the IsList type class.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverloadedLists"},OverloadedStrings:{description:"Enable overloading of string literals using a type class, much like integer literals.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XOverloadedStrings"},PackageImports:{description:"Allow imports to be qualified by the package name the module is intended to be imported from, e.g.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPackageImports"},ParallelArrays:{description:"Enable parallel arrays syntax ([:, :]) for Data Parallel Haskell.",link:"http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell"},ParallelListComp:{description:"Provide syntax for writing list comprehensions which iterate over several lists together, like the zipWith family of functions.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-ParallelListComp"},PartialTypeSignatures:{description:"Allow anonymous placeholders (underscore) inside type signatures. The type inference engine will generate a message describing the type inferred at the hole's location.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPartialTypeSignatures"},PatternGuards:{description:"Enable a form of guard which matches a pattern and binds variables.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternGuards"},PatternSynonyms:{description:"Allow giving names to and abstracting over patterns.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPatternSynonyms"},PolyKinds:{description:"Enable kind polymorphism.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPolyKinds"},PostfixOperators:{description:"Relax the interpretation of left operator sections to allow unary postfix operators.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XPostfixOperators"},QuantifiedConstraints:{description:"Allow forall in constraints.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-QuantifiedConstraints"},QuasiQuotes:{description:"Enable quasi-quotation, a mechanism for defining new concrete syntax for expressions and patterns.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XQuasiQuotes"},Rank2Types:{description:"(deprecated) A synonym for RankNTypes.",link:"https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#arbitrary-rank-polymorphism"},RankNTypes:{description:"Allow a universally-quantified type to occur on the left of a function arrow.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRankNTypes"},RebindableSyntax:{description:"Makes much of the Haskell sugar be desugared into calls to the function with a particular name that is in scope.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRebindableSyntax"},RecordPuns:{description:"Deprecated, use NamedFieldPuns instead.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#record-puns"},RecordWildCards:{description:"Enable syntax for implicitly binding local names corresponding to the field names of a record. A wildcard binds all unmentioned names, unlike NamedFieldPuns.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRecordWildCards"},RecursiveDo:{description:"Allow recursive bindings in do blocks, using the rec keyword, or mdo, a variant of do.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRecursiveDo"},RegularPatterns:{description:'Allow regular pattern matching over lists, as discussed in the paper "Regular Expression Patterns" by Niklas Broberg, Andreas Farre and Josef Svenningsson, from ICFP \'04.',link:"https://stackoverflow.com/questions/37224366/how-to-resolve-an-unsupported-extension-regularpatterns-error"},RelaxedPolyRec:{description:"Relax the requirements on mutually-recursive polymorphic functions.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRelaxedPolyRec"},RestrictedTypeSynonyms:{description:"Enable type synonyms which are transparent in some definitions and opaque elsewhere, as a way of implementing abstract datatypes.",link:"http://haskell.org/hugs/pages/users_guide/restricted-synonyms.html"},RoleAnnotations:{description:"Enable explicit role annotations, like in (type role Foo representational representational).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XRoleAnnotations"},Safe:{description:"Compile a module in the Safe, Safe Haskell mode -- a restricted form of the Haskell language to ensure type safety.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XSafe"},SafeImports:{description:"Allow imports to be qualified with a safe keyword that requires the imported module be trusted as according to the Safe Haskell definition of trust.",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#safe-imports"},ScopedTypeVariables:{description:"Cause a type variable in a signature, which has an explicit forall quantifier, to scope over the definition of the accompanying value declaration.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XScopedTypeVariables"},StandaloneDeriving:{description:"Allow a standalone declaration which invokes the type class deriving mechanism.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XStandaloneDeriving"},StarIsType:{description:"Have * refer to Type.",link:"https://ghc.haskell.org/trac/ghc/wiki/Migration/8.6#StarIsType"},StaticPointers:{description:"Enable support for 'static pointers' (and the static keyword) to refer to globally stable names, even across different programs.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XStaticPointers"},Strict:{description:"Switches all pattern bindings to be strict by default (as if they had a bang using BangPatterns), ordinary patterns are recovered using ~. Implies StrictData.",link:"https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#ghc-flag--XStrict"},StrictData:{description:"Switches data type declarations to be strict by default (as if they had a bang using BangPatterns), and allow opt-in field laziness using ~.",link:"https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#ghc-flag--XStrictData"},TemplateHaskell:{description:"Enable Template Haskell, a system for compile-time metaprogramming.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTemplateHaskell"},TemplateHaskellQuotes:{description:"A subset of TemplateHaskell including only quoting.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-TemplateHaskellQuotes"},TraditionalRecordSyntax:{description:"Enable traditional record syntax (as supported by Haskell 98)",link:"https://haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#traditional-record-syntax"},TransformListComp:{description:"Enable generalized list comprehensions, supporting operations such as sorting and grouping.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTransformListComp"},Trustworthy:{description:"Compile a module in the Trustworthy, Safe Haskell mode -- no restrictions apply but the module is marked as trusted as long as the package the module resides in is trusted.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XTrustworthy"},TupleSections:{description:"Enable the use of tuple sections, e.g. (, True) desugars into x -> (x, True).",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTupleSections"},TypeApplications:{description:"Enable explicit type applications with the syntax id @Int.",link:"https://ghc.haskell.org/trac/ghc/wiki/TypeApplication"},TypeFamilies:{description:"Allow data types and type synonyms which are indexed by types, i.e. ad-hoc polymorphism for types.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeFamilies"},TypeFamilyDependencies:{description:"Allow functional dependency annotations on type families to declare them as injective.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-TypeFamilyDependencies"},TypeInType:{description:"Dissolve the distinction between types and kinds, allowing the compiler to reason about kind equality and therefore enabling GADTs to be promoted to the type-level.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#kind-polymorphism"},TypeOperators:{description:"Allow the name of a type constructor, type class, or type variable to be an infix operator. * https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeOperators",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeOperators"},TypeSynonymInstances:{description:"Allow type synonyms in instance heads.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XTypeSynonymInstances"},UnboxedSums:{description:"Enable the use of unboxed sum syntax.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#extension-UnboxedSums"},UnboxedTuples:{description:"Enable unboxed tuples.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUnboxedTuples"},UndecidableInstances:{description:"Ignore structural rules guaranteeing the termination of class instance resolution. Termination is guaranteed by a fixed-depth recursion stack, and compilation may fail if this depth is exceeded.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUndecidableInstances"},UndecidableSuperClasses:{description:"Allow recursive (and therefore undecideable) super-class relationships.",link:"https://downloads.haskell.org/~ghc/master/users-guide/glasgow_exts.html#undecidable-or-recursive-superclasses"},UnicodeSyntax:{description:"Allow certain Unicode characters to stand for certain ASCII character sequences, e.g. keywords and punctuation.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XUnicodeSyntax"},UnliftedFFITypes:{description:"Allow the use of unboxed types as foreign types, e.g. in foreign import and foreign export.",link:"https://ghc.haskell.org/trac/ghc/wiki/Commentary/PrimOps#Foreignout-of-linePrimOpsandforeignimportprim"},Unsafe:{description:"Compile a module in the Unsafe, Safe Haskell mode so that modules compiled using Safe, Safe Haskell mode can't import it.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/safe_haskell.html#ghc-flag--XUnsafe"},ViewPatterns:{description:"Enable view patterns, which match a value by applying a function and matching on the result.",link:"https://www.haskell.org/ghc/docs/latest/html/users_guide/glasgow_exts.html#ghc-flag--XViewPatterns"},XmlSyntax:{description:'Allow concrete XML syntax to be used in expressions and patterns, as per the Haskell Server Pages extension language: http://www.haskell.org/haskellwiki/HSP. The ideas behind it are discussed in the paper "Haskell Server Pages through Dynamic Loading" by Niklas Broberg, from Haskell Workshop \'05.',link:"http://www.haskell.org/haskellwiki/HSP"}},o=new RegExp(Object.keys(n).join("|"),"g")
-e.addLinksToLanguageExtensionsDocs=t}),define("haskell-code-explorer/utils/line-selection",["exports"],function(e){function t(e,t){var o=Array.prototype.slice.call(e.querySelectorAll("td.line-number"))
-if(o.length>0){var l=function(){n(e)}
-window.addEventListener("hashchange",l),t._onhashchange=l
-var i=void 0,r=function(e){16===e.keyCode&&(i=!0)},a=function(e){16===e.keyCode&&(i=!1)}
-document.addEventListener("keydown",r),document.addEventListener("keyup",a),t._onkeydown=r,t._onkeyup=a
-var c=void 0,d=void 0
-o.forEach(function(t){t.onclick=function(){var t=parseInt(this.textContent)
-i&&c?c!=t&&(d=t,c<d?(s(e,c,d),window.location.hash="L"+c+"-L"+d):(s(e,d,c),window.location.hash="L"+d+"-L"+c)):(c=t,d=null,s(e,c,c),window.location.hash="L"+t)}})
-var u=n(e)
-u.length&&(c=u[0],d=u[1])}}function n(e){var t=window.location.hash.slice(1)
-if(!t)return s(e,0,0),[]
-if(t.includes("-")){var n=t.split("-"),l=parseInt(n[0].substring(1)),i=parseInt(n[1].substring(1))
-if(l&&i&&l<=i){s(e,l,i)
-var r=e.querySelector("td#LC"+l)
-return r&&o(r,e),[l,i]}}else{var a=parseInt(t.substring(1))
-if(a){s(e,a,a)
-var c=e.querySelector("td#LC"+a)
-return c&&o(c,e),[a]}}}function o(e,t){e.parentNode.scrollIntoView()
-var n=t.parentNode.parentNode,o=n.offsetHeight
-t.offsetHeight-n.scrollTop>o&&(n.scrollTop=n.scrollTop-(o/2-20))}function s(e,t,n){Array.prototype.slice.call(e.querySelectorAll("td.line-content")).forEach(function(e){var o=parseInt(e.id.substring(2))
-o>=t&&o<=n?e.classList.add("highlighted-line"):e.classList.remove("highlighted-line")})}Object.defineProperty(e,"__esModule",{value:!0}),e.initializeLineSelection=t,e.highlightLines=s,e.highlightSelectedLines=n}),define("haskell-code-explorer/config/environment",[],function(){try{var e="haskell-code-explorer/config/environment",t=document.querySelector('meta[name="'+e+'"]').getAttribute("content"),n=JSON.parse(unescape(t)),o={default:n}
-return Object.defineProperty(o,"__esModule",{value:!0}),o}catch(t){throw new Error('Could not read config from meta tag with name "'+e+'".')}}),runningTests||require("haskell-code-explorer/app").default.create({staticUrlPrefix:"/files",apiUrlPrefix:"/api",haskellCodeExplorerDirectory:".haskell-code-explorer",title:"Haskell Code Explorer",name:"haskell-code-explorer",version:"0.0.1+571363af"})
diff --git a/javascript/release/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css b/javascript/release/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css
deleted file mode 100644
index 91d1666..0000000
--- a/javascript/release/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * Bootstrap v4.0.0 (https://getbootstrap.com)
- * Copyright 2011-2018 The Bootstrap Authors
- * Copyright 2011-2018 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */dd,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem}dl,ol,pre,ul{margin-top:0}address,dl,ol,p,pre,ul{margin-bottom:1rem}body,caption{text-align:left}pre,textarea{overflow:auto}article,aside,dialog,figcaption,figure,footer,header,hgroup,legend,main,nav,section{display:block}address,legend{line-height:inherit}progress,sub,sup{vertical-align:baseline}button,hr,input{overflow:visible}.btn-outline-danger,.btn-outline-dark,.btn-outline-info,.btn-outline-light,.btn-outline-primary,.btn-outline-success,.btn-outline-warning,.btn:not(:disabled):not(.disabled).active,.btn:not(:disabled):not(.disabled):active{background-image:none}.dropdown-menu,.nav,.navbar-nav{list-style:none}:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-weight:400;line-height:1.5;color:#212529;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}h1,h2,h3,h4,h5,h6{margin-top:0}abbr[data-original-title],abbr[title]{text-decoration:underline;text-decoration:underline dotted;cursor:help;border-bottom:0}.btn:not(:disabled):not(.disabled),.navbar-toggler:not(:disabled):not(.disabled),.page-link:not(:disabled):not(.disabled),summary{cursor:pointer}address{font-style:normal}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}blockquote,figure{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]),a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-size:1em}pre{-ms-overflow-style:scrollbar}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;caption-side:bottom}th{text-align:inherit}label,output{display:inline-block}button{border-radius:0}button:focus{outline:dotted 1px;outline:-webkit-focus-ring-color auto 5px}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[type=submit],[type=reset],button,html [type=button]{-webkit-appearance:button}[type=submit]::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;color:inherit;white-space:normal}.badge,.btn,.dropdown-header,.dropdown-item,.input-group-text,.navbar-brand{white-space:nowrap}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}.display-1,.display-2,.display-3,.display-4{line-height:1.2}summary{display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.blockquote,hr{margin-bottom:1rem}.display-1,.display-2,.display-3,.display-4,.lead{font-weight:300}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem}.display-1{font-size:6rem}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-4{font-size:3.5rem}hr{box-sizing:content-box;height:0;margin-top:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.img-fluid,.img-thumbnail{max-width:100%;height:auto}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014 \00A0"}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}a>code,pre code{color:inherit}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}code{word-break:break-word}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}.container,.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto;width:100%}.btn,.btn-link,.dropdown-item{font-weight:400}pre{display:block}pre code{font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}@media (min-width:576px){.container{max-width:540px}}@media (min-width:768px){.container{max-width:720px}}@media (min-width:992px){.container{max-width:960px}}@media (min-width:1200px){.container{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;min-height:1px;padding-right:15px;padding-left:15px}.col{flex-basis:0;flex-grow:1;max-width:100%}.col-auto{flex:0 0 auto;width:auto;max-width:none}.col-1{flex:0 0 8.33333%;max-width:8.33333%}.col-2{flex:0 0 16.66667%;max-width:16.66667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333%;max-width:33.33333%}.col-5{flex:0 0 41.66667%;max-width:41.66667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333%;max-width:58.33333%}.col-8{flex:0 0 66.66667%;max-width:66.66667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333%;max-width:83.33333%}.col-11{flex:0 0 91.66667%;max-width:91.66667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333%}.offset-2{margin-left:16.66667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333%}.offset-5{margin-left:41.66667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333%}.offset-8{margin-left:66.66667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333%}.offset-11{margin-left:91.66667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.col-sm-auto{flex:0 0 auto;width:auto;max-width:none}.col-sm-1{flex:0 0 8.33333%;max-width:8.33333%}.col-sm-2{flex:0 0 16.66667%;max-width:16.66667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333%;max-width:33.33333%}.col-sm-5{flex:0 0 41.66667%;max-width:41.66667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333%;max-width:58.33333%}.col-sm-8{flex:0 0 66.66667%;max-width:66.66667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333%;max-width:83.33333%}.col-sm-11{flex:0 0 91.66667%;max-width:91.66667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333%}.offset-sm-2{margin-left:16.66667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333%}.offset-sm-5{margin-left:41.66667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333%}.offset-sm-8{margin-left:66.66667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333%}.offset-sm-11{margin-left:91.66667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.col-md-auto{flex:0 0 auto;width:auto;max-width:none}.col-md-1{flex:0 0 8.33333%;max-width:8.33333%}.col-md-2{flex:0 0 16.66667%;max-width:16.66667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333%;max-width:33.33333%}.col-md-5{flex:0 0 41.66667%;max-width:41.66667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333%;max-width:58.33333%}.col-md-8{flex:0 0 66.66667%;max-width:66.66667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333%;max-width:83.33333%}.col-md-11{flex:0 0 91.66667%;max-width:91.66667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333%}.offset-md-2{margin-left:16.66667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333%}.offset-md-5{margin-left:41.66667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333%}.offset-md-8{margin-left:66.66667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333%}.offset-md-11{margin-left:91.66667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.col-lg-auto{flex:0 0 auto;width:auto;max-width:none}.col-lg-1{flex:0 0 8.33333%;max-width:8.33333%}.col-lg-2{flex:0 0 16.66667%;max-width:16.66667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333%;max-width:33.33333%}.col-lg-5{flex:0 0 41.66667%;max-width:41.66667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}.col-lg-8{flex:0 0 66.66667%;max-width:66.66667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333%;max-width:83.33333%}.col-lg-11{flex:0 0 91.66667%;max-width:91.66667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333%}.offset-lg-2{margin-left:16.66667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333%}.offset-lg-5{margin-left:41.66667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333%}.offset-lg-8{margin-left:66.66667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333%}.offset-lg-11{margin-left:91.66667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.col-xl-auto{flex:0 0 auto;width:auto;max-width:none}.col-xl-1{flex:0 0 8.33333%;max-width:8.33333%}.col-xl-2{flex:0 0 16.66667%;max-width:16.66667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333%;max-width:33.33333%}.col-xl-5{flex:0 0 41.66667%;max-width:41.66667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333%;max-width:58.33333%}.col-xl-8{flex:0 0 66.66667%;max-width:66.66667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333%;max-width:83.33333%}.col-xl-11{flex:0 0 91.66667%;max-width:91.66667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333%}.offset-xl-2{margin-left:16.66667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333%}.offset-xl-5{margin-left:41.66667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333%}.offset-xl-8{margin-left:66.66667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333%}.offset-xl-11{margin-left:91.66667%}}.table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table .table{background-color:#fff}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#212529;border-color:#32383e}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#212529}.table-dark td,.table-dark th,.table-dark thead th{border-color:#32383e}.table-dark.table-bordered,.table-responsive>.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar}.collapsing,.modal,.modal-open,.progress{overflow:hidden}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}select.form-control:not([size]):not([multiple]){height:calc(2.25rem + 2px)}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding-top:.375rem;padding-bottom:.375rem;margin-bottom:0;line-height:1.5;background-color:transparent;border:solid transparent;border-width:1px 0}.custom-file-input.is-valid~.custom-file-label,.custom-select.is-valid,.form-control.is-valid,.was-validated .custom-file-input:valid~.custom-file-label,.was-validated .custom-select:valid,.was-validated .form-control:valid{border-color:#28a745}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm,.input-group-lg>.form-control-plaintext.form-control,.input-group-lg>.input-group-append>.form-control-plaintext.btn,.input-group-lg>.input-group-append>.form-control-plaintext.input-group-text,.input-group-lg>.input-group-prepend>.form-control-plaintext.btn,.input-group-lg>.input-group-prepend>.form-control-plaintext.input-group-text,.input-group-sm>.form-control-plaintext.form-control,.input-group-sm>.input-group-append>.form-control-plaintext.btn,.input-group-sm>.input-group-append>.form-control-plaintext.input-group-text,.input-group-sm>.input-group-prepend>.form-control-plaintext.btn,.input-group-sm>.input-group-prepend>.form-control-plaintext.input-group-text{padding-right:0;padding-left:0}.form-control-sm,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-sm>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-sm>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-sm>select.form-control:not([size]):not([multiple]),select.form-control-sm:not([size]):not([multiple]){height:calc(1.8125rem + 2px)}.form-control-lg,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-lg>.input-group-append>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-append>select.input-group-text:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.btn:not([size]):not([multiple]),.input-group-lg>.input-group-prepend>select.input-group-text:not([size]):not([multiple]),.input-group-lg>select.form-control:not([size]):not([multiple]),select.form-control-lg:not([size]):not([multiple]){height:calc(2.875rem + 2px)}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:inline-flex;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.invalid-tooltip,.valid-tooltip{position:absolute;z-index:5;max-width:100%;padding:.5rem;line-height:1;border-radius:.2rem;top:100%}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{display:none;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(40,167,69,.8)}.custom-control-input.is-valid~.valid-feedback,.custom-control-input.is-valid~.valid-tooltip,.custom-file-input.is-valid~.valid-feedback,.custom-file-input.is-valid~.valid-tooltip,.custom-select.is-valid~.valid-feedback,.custom-select.is-valid~.valid-tooltip,.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.form-control.is-valid~.valid-feedback,.form-control.is-valid~.valid-tooltip,.was-validated .custom-control-input:valid~.valid-feedback,.was-validated .custom-control-input:valid~.valid-tooltip,.was-validated .custom-file-input:valid~.valid-feedback,.was-validated .custom-file-input:valid~.valid-tooltip,.was-validated .custom-select:valid~.valid-feedback,.was-validated .custom-select:valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip,.was-validated .form-control:valid~.valid-feedback,.was-validated .form-control:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.form-check-input.is-valid~.form-check-label,.was-validated .custom-control-input:valid~.custom-control-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.custom-select.is-valid:focus,.form-control.is-valid:focus,.was-validated .custom-select:valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{background-color:#71dd8a}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(40,167,69,.25)}.custom-file-input.is-valid~.custom-file-label::before,.was-validated .custom-file-input:valid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid~.custom-file-label,.custom-select.is-invalid,.form-control.is-invalid,.was-validated .custom-file-input:invalid~.custom-file-label,.was-validated .custom-select:invalid,.was-validated .form-control:invalid{border-color:#dc3545}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{display:none;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.8)}.collapsing,.dropdown,.dropup{position:relative}.custom-control-input.is-invalid~.invalid-feedback,.custom-control-input.is-invalid~.invalid-tooltip,.custom-file-input.is-invalid~.invalid-feedback,.custom-file-input.is-invalid~.invalid-tooltip,.custom-select.is-invalid~.invalid-feedback,.custom-select.is-invalid~.invalid-tooltip,.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.form-control.is-invalid~.invalid-feedback,.form-control.is-invalid~.invalid-tooltip,.was-validated .custom-control-input:invalid~.invalid-feedback,.was-validated .custom-control-input:invalid~.invalid-tooltip,.was-validated .custom-file-input:invalid~.invalid-feedback,.was-validated .custom-file-input:invalid~.invalid-tooltip,.was-validated .custom-select:invalid~.invalid-feedback,.was-validated .custom-select:invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip,.was-validated .form-control:invalid~.invalid-feedback,.was-validated .form-control:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.form-check-input.is-invalid~.form-check-label,.was-validated .custom-control-input:invalid~.custom-control-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.custom-select.is-invalid:focus,.form-control.is-invalid:focus,.was-validated .custom-select:invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{background-color:#efa2a9}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(220,53,69,.25)}.custom-file-input.is-invalid~.custom-file-label::before,.was-validated .custom-file-input:invalid~.custom-file-label::before{border-color:inherit}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:flex;flex-flow:row wrap;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn-block,input[type=submit].btn-block,input[type=button].btn-block,input[type=reset].btn-block{width:100%}.btn{display:inline-block;text-align:center;vertical-align:middle;user-select:none;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.btn:focus,.btn:hover{text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn-primary.focus,.btn-primary:focus,.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn.disabled,.btn:disabled{opacity:.65}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-success.focus,.btn-success:focus,.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-info.focus,.btn-info:focus,.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-warning.focus,.btn-warning:focus,.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-danger.focus,.btn-danger:focus,.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-light.focus,.btn-light:focus,.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-dark.focus,.btn-dark:focus,.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-outline-primary.focus,.btn-outline-primary:focus,.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary{color:#007bff;background-color:transparent;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-secondary.focus,.btn-outline-secondary:focus,.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary{color:#6c757d;background-color:transparent;background-image:none;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-success.focus,.btn-outline-success:focus,.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success{color:#28a745;background-color:transparent;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-info.focus,.btn-outline-info:focus,.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info{color:#17a2b8;background-color:transparent;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-warning.focus,.btn-outline-warning:focus,.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning{color:#ffc107;background-color:transparent;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-danger.focus,.btn-outline-danger:focus,.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger{color:#dc3545;background-color:transparent;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-light.focus,.btn-outline-light:focus,.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light{color:#f8f9fa;background-color:transparent;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-dark.focus,.btn-outline-dark:focus,.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark{color:#343a40;background-color:transparent;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-link,.btn-link:hover{background-color:transparent}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline;border-color:transparent}.btn-link{color:#007bff}.btn-link:hover{color:#0056b3}.btn-link.focus,.btn-link:focus{box-shadow:none}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block}.btn-block+.btn-block{margin-top:.5rem}.dropdown-toggle::after,.dropup .dropdown-toggle::after{width:0;height:0;vertical-align:.255em;content:""}.fade{opacity:0;transition:opacity .15s linear}.fade.show{opacity:1}.collapse{display:none}.collapse.show{display:block}tr.collapse.show{display:table-row}tbody.collapse.show{display:table-row-group}.collapsing{height:0;transition:height .35s ease}.dropdown-toggle::after{display:inline-block;margin-left:.255em;border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropup .dropdown-menu{margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropleft .dropdown-toggle::before,.dropright .dropdown-toggle::after{width:0;content:"";border-top:.3em solid transparent;border-bottom:.3em solid transparent;height:0}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;border-left:.3em solid;vertical-align:0}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-menu{margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{width:0;height:0;margin-left:.255em;vertical-align:.255em;content:"";display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;border-right:.3em solid;vertical-align:0}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn,.custom-control-label,.custom-file,.dropdown-header,.input-group-text,.nav{margin-bottom:0}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;color:#212529;text-align:inherit;background-color:transparent;border:0}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::before,.input-group>.custom-select:not(:last-child),.input-group>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child),.input-group>.custom-file:not(:first-child) .custom-file-label,.input-group>.custom-file:not(:first-child) .custom-file-label::before,.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#f8f9fa}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#6c757d;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;font-size:.875rem;color:#6c757d}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:0 1 auto}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group,.btn-group-vertical .btn+.btn,.btn-group-vertical .btn+.btn-group,.btn-group-vertical .btn-group+.btn,.btn-group-vertical .btn-group+.btn-group{margin-left:-1px}.btn-group>.btn:first-child,.dropdown-toggle-split::after{margin-left:0}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical .btn,.btn-group-vertical .btn-group{width:100%}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.input-group-append,.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text,.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control{margin-left:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control{position:relative;flex:1 1 auto;width:1%;margin-bottom:0}.input-group>.custom-file:focus,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file{display:flex;align-items:center}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-prepend{margin-right:-1px}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.nav,.navbar{flex-wrap:wrap}.input-group-text input[type=radio],.input-group-text input[type=checkbox]{margin-top:0}.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-append:not(:last-child)>.btn,.input-group>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-label::after,.custom-control-label::before{position:absolute;top:.25rem;display:block;width:1rem;height:1rem;content:"";left:0}.custom-control-input{position:absolute;z-index:-1;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:active~.custom-control-label::before{color:#fff;background-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before{background-color:#e9ecef}.custom-control-label::before{pointer-events:none;user-select:none;background-color:#dee2e6}.custom-checkbox .custom-control-input:checked~.custom-control-label::before,.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{background-color:#007bff}.custom-control-label::after{background-repeat:no-repeat;background-position:center center;background-size:50% 50%}.custom-file,.custom-select{display:inline-block;width:100%}.custom-file-input:lang(en)~.custom-file-label::after,.custom-file-label::after{content:"Browse"}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before,.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::before{background-color:#007bff}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{height:calc(2.25rem + 2px);padding:.375rem 1.75rem .375rem .75rem;line-height:1.5;color:#495057;vertical-align:middle;background:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center no-repeat #fff;background-size:8px 10px;border:1px solid #ced4da;border-radius:.25rem;appearance:none}.custom-select-lg,.custom-select-sm{padding-top:.375rem;padding-bottom:.375rem}.custom-file-input:focus~.custom-file-control::before,.custom-select:focus{border-color:#80bdff}.custom-select:focus{outline:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.075),0 0 5px rgba(128,189,255,.5)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{opacity:0}.custom-select-sm{height:calc(1.8125rem + 2px);font-size:75%}.custom-select-lg{height:calc(2.875rem + 2px);font-size:125%}.custom-file,.custom-file-input,.custom-file-label{height:calc(2.25rem + 2px)}.custom-file{position:relative}.custom-file-input{position:relative;z-index:2;width:100%;margin:0;opacity:0}.custom-file-label,.custom-file-label::after{position:absolute;top:0;padding:.375rem .75rem;line-height:1.5;color:#495057;right:0}.custom-file-input:focus~.custom-file-control{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-label{left:0;z-index:1;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{bottom:0;z-index:3;display:block;height:calc(calc(2.25rem + 2px) - 1px * 2);background-color:#e9ecef;border-left:1px solid #ced4da;border-radius:0 .25rem .25rem 0}.nav{display:flex;padding-left:0}.nav-link,.navbar{padding:.5rem 1rem}.nav-link{display:block}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-item{margin-bottom:-1px}.nav-tabs .nav-link{border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item{flex:1 1 auto;text-align:center}.nav-justified .nav-item{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;align-items:center;justify-content:space-between}.navbar>.container,.navbar>.container-fluid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:center center no-repeat;background-size:100% 100%}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid{flex-wrap:nowrap}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid{flex-wrap:nowrap}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid{flex-wrap:nowrap}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .dropup .dropdown-menu{top:auto;bottom:100%}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid{flex-wrap:nowrap}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .dropup .dropdown-menu{top:auto;bottom:100%}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .dropdown-menu-right{right:0;left:auto}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid{flex-wrap:nowrap}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .dropup .dropdown-menu{top:auto;bottom:100%}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.modal-content,.popover{background-clip:padding-box}.card>hr{margin-right:0;margin-left:0}.card>.list-group:first-child .list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-body{flex:1 1 auto;padding:1.25rem}.card-footer,.card-header{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03)}.card-title{margin-bottom:.75rem}.card-header,.card-subtitle,.card-text:last-child{margin-bottom:0}.card-subtitle{margin-top:-.375rem}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header-pills,.card-header-tabs{margin-right:-.625rem;margin-left:-.625rem}.card-header{border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-header+.list-group .list-group-item:first-child{border-top:0}.card-footer{border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-bottom:-.75rem;border-bottom:0}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem}.alert,.btn .badge,.page-link{position:relative}.card-img{width:100%;border-radius:calc(.25rem - 1px)}.card-img-top{width:100%;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img-bottom{width:100%;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck{display:flex;flex-direction:column}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{display:flex;flex:1 0 0%;flex-direction:column;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group{display:flex;flex-direction:column}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:first-child .card-header,.card-group>.card:first-child .card-img-top{border-top-right-radius:0}.card-group>.card:first-child .card-footer,.card-group>.card:first-child .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:last-child .card-header,.card-group>.card:last-child .card-img-top{border-top-left-radius:0}.card-group>.card:last-child .card-footer,.card-group>.card:last-child .card-img-bottom{border-bottom-left-radius:0}.card-group>.card:only-child{border-radius:.25rem}.card-group>.card:only-child .card-header,.card-group>.card:only-child .card-img-top{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-group>.card:only-child .card-footer,.card-group>.card:only-child .card-img-bottom{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.card-group>.card:not(:first-child):not(:last-child):not(:only-child),.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-footer,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-header,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,.card-group>.card:not(:first-child):not(:last-child):not(:only-child) .card-img-top{border-radius:0}.card-columns{column-count:3;column-gap:1.25rem}.card-columns .card{display:inline-block;width:100%}}.breadcrumb,.pagination{border-radius:.25rem;list-style:none}.card-columns .card{margin-bottom:.75rem}.breadcrumb{display:flex;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;background-color:#e9ecef}.breadcrumb-item+.breadcrumb-item::before{display:inline-block;padding-right:.5rem;padding-left:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0}.page-link,.popover-body,.popover-header{padding:.5rem .75rem}.page-link{display:block;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:2;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:1;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.close:not(:disabled):not(.disabled),.ember-radio-button,.identifier,td.line-number{cursor:pointer}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.badge,.close{font-weight:700;line-height:1}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;text-align:center;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}.badge-primary[href]:focus,.badge-primary[href]:hover{color:#fff;text-decoration:none;background-color:#0062cc}.badge-secondary{color:#fff;background-color:#6c757d}.badge-secondary[href]:focus,.badge-secondary[href]:hover{color:#fff;text-decoration:none;background-color:#545b62}.badge-success{color:#fff;background-color:#28a745}.badge-success[href]:focus,.badge-success[href]:hover{color:#fff;text-decoration:none;background-color:#1e7e34}.badge-info{color:#fff;background-color:#17a2b8}.badge-info[href]:focus,.badge-info[href]:hover{color:#fff;text-decoration:none;background-color:#117a8b}.badge-warning{color:#212529;background-color:#ffc107}.badge-warning[href]:focus,.badge-warning[href]:hover{color:#212529;text-decoration:none;background-color:#d39e00}.badge-danger{color:#fff;background-color:#dc3545}.badge-danger[href]:focus,.badge-danger[href]:hover{color:#fff;text-decoration:none;background-color:#bd2130}.badge-light{color:#212529;background-color:#f8f9fa}.badge-light[href]:focus,.badge-light[href]:hover{color:#212529;text-decoration:none;background-color:#dae0e5}.badge-dark{color:#fff;background-color:#343a40}.badge-dark[href]:focus,.badge-dark[href]:hover{color:#fff;text-decoration:none;background-color:#1d2124}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:flex;height:1rem;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;background-color:#007bff;transition:width .6s ease}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}.media{display:flex;align-items:flex-start}.media-body{flex:1}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;margin-bottom:-1px;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.list-group-item:focus,.list-group-item:hover{z-index:1;text-decoration:none}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-flush .list-group-item{border-right:0;border-left:0;border-radius:0}.list-group-flush:first-child .list-group-item:first-child{border-top:0}.list-group-flush:last-child .list-group-item:last-child{border-bottom:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.popover,.tooltip{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-style:normal;font-weight:400;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;text-decoration:none;word-wrap:break-word}.modal-title,.popover,.tooltip{line-height:1.5}.popover,.text-hide,.tooltip{text-shadow:none}.close:focus,.close:hover{color:#000;text-decoration:none;opacity:.75}button.close{padding:0;background-color:transparent;border:0;-webkit-appearance:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;outline:0}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-25%)}.modal.show .modal-dialog{transform:translate(0,0)}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - (.5rem * 2))}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1rem;border-bottom:1px solid #e9ecef;border-top-left-radius:.3rem;border-top-right-radius:.3rem}.modal-header .close{padding:1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;align-items:center;justify-content:flex-end;padding:1rem;border-top:1px solid #e9ecef}.popover,.popover .arrow,.popover .arrow::after,.popover .arrow::before,.tooltip,.tooltip .arrow{position:absolute;display:block}.modal-footer>:not(:first-child){margin-left:.25rem}.modal-footer>:not(:last-child){margin-right:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-centered{min-height:calc(100% - (1.75rem * 2))}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg{max-width:800px}}.tooltip{z-index:1070;margin:0;text-align:left;text-align:start;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{top:0;left:0;z-index:1060;max-width:276px;text-align:left;text-align:start;background-color:#fff;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top] .arrow,.bs-popover-top .arrow{bottom:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::after,.bs-popover-top .arrow::before{border-width:.5rem .5rem 0}.bs-popover-auto[x-placement^=top] .arrow::before,.bs-popover-top .arrow::before{bottom:0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top] .arrow::after,.bs-popover-top .arrow::after{bottom:1px;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right] .arrow,.bs-popover-right .arrow{left:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::after,.bs-popover-right .arrow::before{border-width:.5rem .5rem .5rem 0}.bs-popover-auto[x-placement^=right] .arrow::before,.bs-popover-right .arrow::before{left:0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right] .arrow::after,.bs-popover-right .arrow::after{left:1px;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom] .arrow,.bs-popover-bottom .arrow{top:calc((.5rem + 1px) * -1)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::after,.bs-popover-bottom .arrow::before{border-width:0 .5rem .5rem}.bs-popover-auto[x-placement^=bottom] .arrow::before,.bs-popover-bottom .arrow::before{top:0;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom] .arrow::after,.bs-popover-bottom .arrow::after{top:1px;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.carousel,.carousel-inner,.carousel-item{position:relative}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left] .arrow,.bs-popover-left .arrow{right:calc((.5rem + 1px) * -1);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::after,.bs-popover-left .arrow::before{border-width:.5rem 0 .5rem .5rem}.bs-popover-auto[x-placement^=left] .arrow::before,.bs-popover-left .arrow::before{right:0;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left] .arrow::after,.bs-popover-left .arrow::after{right:1px;border-left-color:#fff}.popover-header{margin-bottom:0;font-size:1rem;color:inherit;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{color:#212529}.carousel-inner{width:100%;overflow:hidden}.carousel-item{display:none;align-items:center;width:100%;transition:transform .6s ease;backface-visibility:hidden;perspective:1000px}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.carousel-item-next,.carousel-item-prev{position:absolute;top:0}.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{transform:translateX(0)}@supports (transform-style:preserve-3d){.carousel-item-next.carousel-item-left,.carousel-item-prev.carousel-item-right{transform:translate3d(0,0,0)}}.active.carousel-item-right,.carousel-item-next{transform:translateX(100%)}@supports (transform-style:preserve-3d){.active.carousel-item-right,.carousel-item-next{transform:translate3d(100%,0,0)}}.active.carousel-item-left,.carousel-item-prev{transform:translateX(-100%)}@supports (transform-style:preserve-3d){.active.carousel-item-left,.carousel-item-prev{transform:translate3d(-100%,0,0)}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:15%;color:#fff;text-align:center;opacity:.5}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:center center no-repeat;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{position:absolute;right:0;bottom:10px;left:0;z-index:15;display:flex;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{position:relative;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;background-color:rgba(255,255,255,.5)}.carousel-indicators li::after,.carousel-indicators li::before{left:0;display:inline-block;height:10px;position:absolute;content:"";width:100%}.carousel-indicators li::before{top:-10px}.carousel-indicators li::after{bottom:-10px}.carousel-indicators .active{background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-left,.rounded-top{border-top-left-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded{border-radius:.25rem!important}.rounded-circle{border-radius:50%!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.85714%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-bottom,.fixed-top{position:fixed;z-index:1030;right:0;left:0}.fixed-top{top:0}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;clip-path:none}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}.text-justify{text-align:justify!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.right-panel,ul.modules{bottom:0;overflow-x:auto}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0062cc!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#545b62!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#1e7e34!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#117a8b!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#d39e00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#bd2130!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#dae0e5!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#1d2124!important}.text-muted{color:#6c757d!important}.text-hide{font:0/0 a;color:transparent;background-color:transparent;border:0}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{blockquote,img,pre,tr{page-break-inside:avoid}*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #999}thead{display:table-header-group}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}.bottom-panel-header-content,.header-item{white-space:nowrap}body{font-size:14px}a,a:active,a:focus,a:hover,a:visited{outline:0}a.selected{text-decoration:underline}input:focus{outline:0}p{margin-top:1rem}label{margin-bottom:0}ol,ul{list-style:none;padding:0}li{list-style:none}.documentation{margin-top:10px}.documentation li{list-style:disc}.documentation ol,.documentation ul{padding-left:15px}.header,.package-header{padding:5px}.flex-container{display:flex;flex-direction:column;height:100%;width:100%}.absolute-container{position:absolute;top:0;bottom:0;left:0;right:0}.header{flex:none}.header img{float:left}.header-item{display:inline-block;margin-top:5px;font-size:1rem;margin-right:40px}.global-identifier-search-form,.package-search-form{margin-top:20px;max-width:500px}@media screen and (max-width:700px){.header-item{margin-right:10px;margin-left:10px}}.content{flex:auto;position:relative;overflow:auto}.packages{flex:auto;overflow-y:auto}.packages li{margin-bottom:5px}.packages a{margin-right:5px}.package-content{flex:auto;position:relative}.package-header-input{display:inline-block;margin-right:10px}.package-modules{margin-left:10px}.module-name{font-size:.7rem}.package-search-form{margin-bottom:10px}.package-header-filename{white-space:nowrap;margin-left:35px}.package-header-package-name{margin-right:10px;font-size:17px}.module-search-input{max-width:500px;margin:5px}ul.modules{position:absolute;top:50px;margin:0;padding-left:15px;left:0;right:0;display:flex;flex-direction:column;flex-wrap:wrap}ul.modules li{margin-right:10px}.left-panel{position:absolute;bottom:0;top:0;left:0;width:300px}.show-left-panel-button{position:absolute;top:0;right:-20px;z-index:2;width:20px;height:20px;text-align:center;vertical-align:middle;opacity:.6;display:none}.show-left-panel-button a{text-decoration:none}.show-left-panel-button:hover{opacity:1;cursor:pointer}.hide-file-tree{position:relative;top:8px;left:3px}.hide-declarations{margin:7px}.right-panel{position:absolute;top:0;right:0;left:300px;overflow-y:auto}.file-tree-container{overflow-x:hidden;overflow-y:auto;position:absolute;bottom:0;top:0;left:0;right:0}.bottom-panel,.bottom-panel-content,.file-container{position:absolute;right:0;overflow-x:auto;overflow-y:auto;bottom:0;left:0}.file-container{top:0}.bottom-panel{display:none;z-index:4}.bottom-panel-header{position:absolute;top:0;right:0;left:0;height:35px;padding:5px}.bottom-panel-content{top:35px}.bottom-panel-header-options{float:right}.source-code,code,pre{white-space:pre;line-height:1.25}.highlighted-identifier{border-radius:3px;box-shadow:0 0 0 1px #B4B4B4}td.line-number{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:1%;min-width:60px;text-align:left;padding-left:10px;opacity:.8}td.line-number:hover{opacity:1}td.line-content{padding-left:5px}.source-code{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;tab-size:4}.break-word{word-wrap:break-word}code,pre{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif!important;font-size:100%;color:unset}.source-code-font{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif;line-height:1.25}.source-code-snippet{padding:4px;text-decoration:none!important;display:block}.source-code-snippet>b{border-radius:3px;border:1px solid #B4B4B4;margin:-1px}.declarations div,.source-code-container{margin:5px}.source-code-snippet:hover{text-decoration:none}.declarations{position:fixed;top:150px;right:15px;width:450px;z-index:1}.declarations-header{opacity:.9;height:50px}.declarations-content{opacity:.9;position:absolute;top:50px;left:0;right:0;max-height:500px;overflow-y:auto;overflow-x:hidden}@media screen and (max-width:1500px){.declarations{display:none}}.info-window-container{position:absolute;width:750px;z-index:10}.info-window-header{margin:5px;width:100%;cursor:move;cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.info-window-content{max-height:200px;overflow-x:auto;overflow-y:auto}.info-window-options{margin-right:10px;margin-left:10px;float:right}.ui-draggable-dragging .info-window-header{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}span.link{cursor:pointer;white-space:nowrap}span.link:hover{text-decoration:underline}.ui-resizable-n{height:13px!important}.ui-resizable-w{width:13px!important}.type-info{padding-top:5px;padding-bottom:5px}.type-component{display:inline-block}dd{margin-left:1em}.autocomplete-container{position:absolute;z-index:10;display:none;left:0}ul.autocomplete-items li{cursor:pointer;max-height:200px;overflow:hidden}.autocomplete-item{padding:5px}.file-tree-header{position:absolute;top:0;left:0;right:0;height:65px;margin:5px}.file-tree-content{position:absolute;top:70px;left:0;right:0;bottom:0;overflow-x:auto}button{color:#000}.paginated-list-header{position:absolute;top:0;left:0;right:0;height:40px;padding:5px;white-space:nowrap}.paginated-list-content{position:absolute;top:40px;bottom:0;left:0;right:0;overflow:auto}.pagination-button{font-size:10px}.search-results-header{position:absolute;top:0;left:0;right:0;height:35px;padding:5px;white-space:nowrap}.search-results-content{position:absolute;top:35px;bottom:0;left:0;right:0}.global-search-results-content{position:absolute;top:80px;bottom:0;left:0;right:0}.references,.references-packages{position:absolute;top:0;bottom:0}.search-result{padding:5px}.expression{margin-bottom:15px}.expressions,.identifier-info{margin:5px}.file-name{margin-left:5px}.identifier-module{margin-top:10px}.identifier-menu-item{margin-right:10px}.references-packages{width:230px;overflow:auto;padding:5px}.references{left:230px;right:0} \ No newline at end of file
diff --git a/javascript/release/assets/haskell.ico b/javascript/release/assets/haskell.ico
deleted file mode 100644
index 37816fd..0000000
--- a/javascript/release/assets/haskell.ico
+++ /dev/null
Binary files differ
diff --git a/javascript/release/assets/throbber-62be6ed2b189444b472b8000dc187240.gif b/javascript/release/assets/throbber-62be6ed2b189444b472b8000dc187240.gif
deleted file mode 100644
index cd75035..0000000
--- a/javascript/release/assets/throbber-62be6ed2b189444b472b8000dc187240.gif
+++ /dev/null
Binary files differ
diff --git a/javascript/release/assets/vendor-b97a1e7d03d00bb4514dc45da44b51ff.js b/javascript/release/assets/vendor-b97a1e7d03d00bb4514dc45da44b51ff.js
deleted file mode 100644
index e0cf922..0000000
--- a/javascript/release/assets/vendor-b97a1e7d03d00bb4514dc45da44b51ff.js
+++ /dev/null
@@ -1,5059 +0,0 @@
-function createDeprecatedModule(e){define(e,["exports","ember-resolver/resolver","ember"],function(t,n,r){r.default.deprecate("Usage of `"+e+"` module is deprecated, please update to `ember-resolver`.",!1,{id:"ember-resolver.legacy-shims",until:"3.0.0"}),t.default=n.default})}window.EmberENV={FEATURES:{},EXTEND_PROTOTYPES:{Date:!1}}
-var runningTests=!1,loader,define,requireModule,require,requirejs;(function(e){"use strict"
-function t(){var e=Object.create(null)
-return e.__=void 0,delete e.__,e}function n(e){throw new Error("an unsupported module was defined, expected `define(id, deps, module)` instead got: `"+e+"` arguments to define`")}function r(e,t,n,r){this.uuid=p++,this.id=e,this.deps=!t.length&&n.length?f:t,this.module={exports:{}},this.callback=n,this.hasExportsAsDep=!1,this.isAlias=r,this.reified=new Array(t.length),this.state="new"}function i(){}function o(e){this.id=e}function s(e,t){throw new Error("Could not find module `"+e+"` imported from `"+t+"`")}function a(e,t,n){for(var r=h[e]||h[e+"/index"];r&&r.isAlias;)r=h[r.id]
-return r||s(e,t),n&&"pending"!==r.state&&"finalized"!==r.state&&(r.findDeps(n),n.push(r)),r}function u(e,t){if("."!==e.charAt(0))return e
-for(var n=e.split("/"),r=t.split("/"),i=r.slice(0,-1),o=0,s=n.length;o<s;o++){var a=n[o]
-if(".."===a){if(0===i.length)throw new Error("Cannot access parent module of root")
-i.pop()}else{if("."===a)continue
-i.push(a)}}return i.join("/")}function c(e){return!(!h[e]&&!h[e+"/index"])}var l={loader:loader,define:define,requireModule:requireModule,require:require,requirejs:requirejs}
-requirejs=require=requireModule=function(e){for(var t=[],n=a(e,"(require)",t),r=t.length-1;r>=0;r--)t[r].exports()
-return n.module.exports},loader={noConflict:function(t){var n,r
-for(n in t)t.hasOwnProperty(n)&&l.hasOwnProperty(n)&&(r=t[n],e[r]=e[n],e[n]=l[n])},makeDefaultExport:!0}
-var h=t(),d=t(),p=0,f=["require","exports","module"]
-r.prototype.makeDefaultExport=function(){var e=this.module.exports
-null===e||"object"!=typeof e&&"function"!=typeof e||void 0!==e.default||!Object.isExtensible(e)||(e.default=e)},r.prototype.exports=function(){if("finalized"===this.state||"reifying"===this.state)return this.module.exports
-loader.wrapModules&&(this.callback=loader.wrapModules(this.id,this.callback)),this.reify()
-var e=this.callback.apply(this,this.reified)
-return this.reified.length=0,this.state="finalized",this.hasExportsAsDep&&void 0===e||(this.module.exports=e),loader.makeDefaultExport&&this.makeDefaultExport(),this.module.exports},r.prototype.unsee=function(){this.state="new",this.module={exports:{}}},r.prototype.reify=function(){if("reified"!==this.state){this.state="reifying"
-try{this.reified=this._reify(),this.state="reified"}finally{"reifying"===this.state&&(this.state="errored")}}},r.prototype._reify=function(){for(var e=this.reified.slice(),t=0;t<e.length;t++){var n=e[t]
-e[t]=n.exports?n.exports:n.module.exports()}return e},r.prototype.findDeps=function(e){if("new"===this.state){this.state="pending"
-for(var t=this.deps,n=0;n<t.length;n++){var r=t[n],i=this.reified[n]={exports:void 0,module:void 0}
-"exports"===r?(this.hasExportsAsDep=!0,i.exports=this.module.exports):"require"===r?i.exports=this.makeRequire():"module"===r?i.exports=this.module:i.module=a(u(r,this.id),this.id,e)}}},r.prototype.makeRequire=function(){var e=this.id,t=function(t){return require(u(t,e))}
-return t.default=t,t.moduleId=e,t.has=function(t){return c(u(t,e))},t},define=function(e,t,i){var s=h[e]
-s&&"new"!==s.state||(arguments.length<2&&n(arguments.length),Array.isArray(t)||(i=t,t=[]),h[e]=i instanceof o?new r(i.id,t,i,!0):new r(e,t,i,!1))},define.exports=function(e,t){var n=h[e]
-if(!n||"new"===n.state)return n=new r(e,[],i,null),n.module.exports=t,n.state="finalized",h[e]=n,n},define.alias=function(e,t){return 2===arguments.length?define(t,new o(e)):new o(e)},requirejs.entries=requirejs._eak_seen=h,requirejs.has=c,requirejs.unsee=function(e){a(e,"(unsee)",!1).unsee()},requirejs.clear=function(){requirejs.entries=requirejs._eak_seen=h=t(),d=t()},define("foo",function(){}),define("foo/bar",[],function(){}),define("foo/asdf",["module","exports","require"],function(e,t,n){n.has("foo/bar")&&n("foo/bar")}),define("foo/baz",[],define.alias("foo")),define("foo/quz",define.alias("foo")),define.alias("foo","foo/qux"),define("foo/bar",["foo","./quz","./baz","./asdf","./bar","../foo"],function(){}),define("foo/main",["foo/bar"],function(){}),define.exports("foo/exports",{}),require("foo/exports"),require("foo/main"),require.unsee("foo/bar"),requirejs.clear(),"object"==typeof exports&&"object"==typeof module&&module.exports&&(module.exports={require:require,define:define})})(this),function e(t,n,r){function i(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require
-if(!a&&u)return u(s,!0)
-if(o)return o(s,!0)
-var c=new Error("Cannot find module '"+s+"'")
-throw c.code="MODULE_NOT_FOUND",c}var l=n[s]={exports:{}}
-t[s][0].call(l.exports,function(e){var n=t[s][1][e]
-return i(n||e)},l,l.exports,e,t,n,r)}return n[s].exports}for(var o="function"==typeof require&&require,s=0;s<r.length;s++)i(r[s])
-return i}({1:[function(e,t,n){(function(t){"use strict"
-function n(e,t,n){e[t]||Object[r](e,t,{writable:!0,configurable:!0,value:n})}if(e(327),e(328),e(2),t._babelPolyfill)throw new Error("only one instance of babel-polyfill is allowed")
-t._babelPolyfill=!0
-var r="defineProperty"
-n(String.prototype,"padLeft","".padStart),n(String.prototype,"padRight","".padEnd),"pop,reverse,shift,keys,values,entries,indexOf,every,some,forEach,map,filter,find,findIndex,includes,join,slice,concat,push,splice,unshift,sort,lastIndexOf,reduce,reduceRight,copyWithin,fill".split(",").forEach(function(e){[][e]&&n(Array,e,Function.call.bind([][e]))})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{2:2,327:327,328:328}],2:[function(e,t,n){e(130),t.exports=e(23).RegExp.escape},{130:130,23:23}],3:[function(e,t,n){t.exports=function(e){if("function"!=typeof e)throw TypeError(e+" is not a function!")
-return e}},{}],4:[function(e,t,n){var r=e(18)
-t.exports=function(e,t){if("number"!=typeof e&&"Number"!=r(e))throw TypeError(t)
-return+e}},{18:18}],5:[function(e,t,n){var r=e(128)("unscopables"),i=Array.prototype
-void 0==i[r]&&e(42)(i,r,{}),t.exports=function(e){i[r][e]=!0}},{128:128,42:42}],6:[function(e,t,n){t.exports=function(e,t,n,r){if(!(e instanceof t)||void 0!==r&&r in e)throw TypeError(n+": incorrect invocation!")
-return e}},{}],7:[function(e,t,n){var r=e(51)
-t.exports=function(e){if(!r(e))throw TypeError(e+" is not an object!")
-return e}},{51:51}],8:[function(e,t,n){"use strict"
-var r=e(119),i=e(114),o=e(118)
-t.exports=[].copyWithin||function(e,t){var n=r(this),s=o(n.length),a=i(e,s),u=i(t,s),c=arguments.length>2?arguments[2]:void 0,l=Math.min((void 0===c?s:i(c,s))-u,s-a),h=1
-for(u<a&&a<u+l&&(h=-1,u+=l-1,a+=l-1);l-- >0;)u in n?n[a]=n[u]:delete n[a],a+=h,u+=h
-return n}},{114:114,118:118,119:119}],9:[function(e,t,n){"use strict"
-var r=e(119),i=e(114),o=e(118)
-t.exports=function(e){for(var t=r(this),n=o(t.length),s=arguments.length,a=i(s>1?arguments[1]:void 0,n),u=s>2?arguments[2]:void 0,c=void 0===u?n:i(u,n);c>a;)t[a++]=e
-return t}},{114:114,118:118,119:119}],10:[function(e,t,n){var r=e(39)
-t.exports=function(e,t){var n=[]
-return r(e,!1,n.push,n,t),n}},{39:39}],11:[function(e,t,n){var r=e(117),i=e(118),o=e(114)
-t.exports=function(e){return function(t,n,s){var a,u=r(t),c=i(u.length),l=o(s,c)
-if(e&&n!=n){for(;c>l;)if((a=u[l++])!=a)return!0}else for(;c>l;l++)if((e||l in u)&&u[l]===n)return e||l||0
-return!e&&-1}}},{114:114,117:117,118:118}],12:[function(e,t,n){var r=e(25),i=e(47),o=e(119),s=e(118),a=e(15)
-t.exports=function(e,t){var n=1==e,u=2==e,c=3==e,l=4==e,h=6==e,d=5==e||h,p=t||a
-return function(t,a,f){for(var g,m,v=o(t),y=i(v),b=r(a,f,3),C=s(y.length),A=0,_=n?p(t,C):u?p(t,0):void 0;C>A;A++)if((d||A in y)&&(g=y[A],m=b(g,A,v),e))if(n)_[A]=m
-else if(m)switch(e){case 3:return!0
-case 5:return g
-case 6:return A
-case 2:_.push(g)}else if(l)return!1
-return h?-1:c||l?l:_}}},{118:118,119:119,15:15,25:25,47:47}],13:[function(e,t,n){var r=e(3),i=e(119),o=e(47),s=e(118)
-t.exports=function(e,t,n,a,u){r(t)
-var c=i(e),l=o(c),h=s(c.length),d=u?h-1:0,p=u?-1:1
-if(n<2)for(;;){if(d in l){a=l[d],d+=p
-break}if(d+=p,u?d<0:h<=d)throw TypeError("Reduce of empty array with no initial value")}for(;u?d>=0:h>d;d+=p)d in l&&(a=t(a,l[d],d,c))
-return a}},{118:118,119:119,3:3,47:47}],14:[function(e,t,n){var r=e(51),i=e(49),o=e(128)("species")
-t.exports=function(e){var t
-return i(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},{128:128,49:49,51:51}],15:[function(e,t,n){var r=e(14)
-t.exports=function(e,t){return new(r(e))(t)}},{14:14}],16:[function(e,t,n){"use strict"
-var r=e(3),i=e(51),o=e(46),s=[].slice,a={},u=function(e,t,n){if(!(t in a)){for(var r=[],i=0;i<t;i++)r[i]="a["+i+"]"
-a[t]=Function("F,a","return new F("+r.join(",")+")")}return a[t](e,n)}
-t.exports=Function.bind||function(e){var t=r(this),n=s.call(arguments,1),a=function(){var r=n.concat(s.call(arguments))
-return this instanceof a?u(t,r.length,r):o(t,r,e)}
-return i(t.prototype)&&(a.prototype=t.prototype),a}},{3:3,46:46,51:51}],17:[function(e,t,n){var r=e(18),i=e(128)("toStringTag"),o="Arguments"==r(function(){return arguments}()),s=function(e,t){try{return e[t]}catch(e){}}
-t.exports=function(e){var t,n,a
-return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=s(t=Object(e),i))?n:o?r(t):"Object"==(a=r(t))&&"function"==typeof t.callee?"Arguments":a}},{128:128,18:18}],18:[function(e,t,n){var r={}.toString
-t.exports=function(e){return r.call(e).slice(8,-1)}},{}],19:[function(e,t,n){"use strict"
-var r=e(72).f,i=e(71),o=e(93),s=e(25),a=e(6),u=e(39),c=e(55),l=e(57),h=e(100),d=e(29),p=e(66).fastKey,f=e(125),g=d?"_s":"size",m=function(e,t){var n,r=p(t)
-if("F"!==r)return e._i[r]
-for(n=e._f;n;n=n.n)if(n.k==t)return n}
-t.exports={getConstructor:function(e,t,n,c){var l=e(function(e,r){a(e,l,t,"_i"),e._t=t,e._i=i(null),e._f=void 0,e._l=void 0,e[g]=0,void 0!=r&&u(r,n,e[c],e)})
-return o(l.prototype,{clear:function(){for(var e=f(this,t),n=e._i,r=e._f;r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete n[r.i]
-e._f=e._l=void 0,e[g]=0},delete:function(e){var n=f(this,t),r=m(n,e)
-if(r){var i=r.n,o=r.p
-delete n._i[r.i],r.r=!0,o&&(o.n=i),i&&(i.p=o),n._f==r&&(n._f=i),n._l==r&&(n._l=o),n[g]--}return!!r},forEach:function(e){f(this,t)
-for(var n,r=s(e,arguments.length>1?arguments[1]:void 0,3);n=n?n.n:this._f;)for(r(n.v,n.k,this);n&&n.r;)n=n.p},has:function(e){return!!m(f(this,t),e)}}),d&&r(l.prototype,"size",{get:function(){return f(this,t)[g]}}),l},def:function(e,t,n){var r,i,o=m(e,t)
-return o?o.v=n:(e._l=o={i:i=p(t,!0),k:t,v:n,p:r=e._l,n:void 0,r:!1},e._f||(e._f=o),r&&(r.n=o),e[g]++,"F"!==i&&(e._i[i]=o)),e},getEntry:m,setStrong:function(e,t,n){c(e,t,function(e,n){this._t=f(e,t),this._k=n,this._l=void 0},function(){for(var e=this,t=e._k,n=e._l;n&&n.r;)n=n.p
-return e._t&&(e._l=n=n?n.n:e._t._f)?"keys"==t?l(0,n.k):"values"==t?l(0,n.v):l(0,[n.k,n.v]):(e._t=void 0,l(1))},n?"entries":"values",!n,!0),h(t)}}},{100:100,125:125,25:25,29:29,39:39,55:55,57:57,6:6,66:66,71:71,72:72,93:93}],20:[function(e,t,n){var r=e(17),i=e(10)
-t.exports=function(e){return function(){if(r(this)!=e)throw TypeError(e+"#toJSON isn't generic")
-return i(this)}}},{10:10,17:17}],21:[function(e,t,n){"use strict"
-var r=e(93),i=e(66).getWeak,o=e(7),s=e(51),a=e(6),u=e(39),c=e(12),l=e(41),h=e(125),d=c(5),p=c(6),f=0,g=function(e){return e._l||(e._l=new m)},m=function(){this.a=[]},v=function(e,t){return d(e.a,function(e){return e[0]===t})}
-m.prototype={get:function(e){var t=v(this,e)
-if(t)return t[1]},has:function(e){return!!v(this,e)},set:function(e,t){var n=v(this,e)
-n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=p(this.a,function(t){return t[0]===e})
-return~t&&this.a.splice(t,1),!!~t}},t.exports={getConstructor:function(e,t,n,o){var c=e(function(e,r){a(e,c,t,"_i"),e._t=t,e._i=f++,e._l=void 0,void 0!=r&&u(r,n,e[o],e)})
-return r(c.prototype,{delete:function(e){if(!s(e))return!1
-var n=i(e)
-return!0===n?g(h(this,t)).delete(e):n&&l(n,this._i)&&delete n[this._i]},has:function(e){if(!s(e))return!1
-var n=i(e)
-return!0===n?g(h(this,t)).has(e):n&&l(n,this._i)}}),c},def:function(e,t,n){var r=i(o(t),!0)
-return!0===r?g(e).set(t,n):r[e._i]=n,e},ufstore:g}},{12:12,125:125,39:39,41:41,51:51,6:6,66:66,7:7,93:93}],22:[function(e,t,n){"use strict"
-var r=e(40),i=e(33),o=e(94),s=e(93),a=e(66),u=e(39),c=e(6),l=e(51),h=e(35),d=e(56),p=e(101),f=e(45)
-t.exports=function(e,t,n,g,m,v){var y=r[e],b=y,C=m?"set":"add",A=b&&b.prototype,_={},I=function(e){var t=A[e]
-o(A,e,"delete"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:"has"==e?function(e){return!(v&&!l(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return v&&!l(e)?void 0:t.call(this,0===e?0:e)}:"add"==e?function(e){return t.call(this,0===e?0:e),this}:function(e,n){return t.call(this,0===e?0:e,n),this})}
-if("function"==typeof b&&(v||A.forEach&&!h(function(){(new b).entries().next()}))){var w=new b,x=w[C](v?{}:-0,1)!=w,k=h(function(){w.has(1)}),j=d(function(e){new b(e)}),E=!v&&h(function(){for(var e=new b,t=5;t--;)e[C](t,t)
-return!e.has(-0)})
-j||(b=t(function(t,n){c(t,b,e)
-var r=f(new y,t,b)
-return void 0!=n&&u(n,m,r[C],r),r}),b.prototype=A,A.constructor=b),(k||E)&&(I("delete"),I("has"),m&&I("get")),(E||x)&&I(C),v&&A.clear&&delete A.clear}else b=g.getConstructor(t,e,m,C),s(b.prototype,n),a.NEED=!0
-return p(b,e),_[e]=b,i(i.G+i.W+i.F*(b!=y),_),v||g.setStrong(b,e,m),b}},{101:101,33:33,35:35,39:39,40:40,45:45,51:51,56:56,6:6,66:66,93:93,94:94}],23:[function(e,t,n){var r=t.exports={version:"2.5.0"}
-"number"==typeof __e&&(__e=r)},{}],24:[function(e,t,n){"use strict"
-var r=e(72),i=e(92)
-t.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},{72:72,92:92}],25:[function(e,t,n){var r=e(3)
-t.exports=function(e,t,n){if(r(e),void 0===t)return e
-switch(n){case 1:return function(n){return e.call(t,n)}
-case 2:return function(n,r){return e.call(t,n,r)}
-case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},{3:3}],26:[function(e,t,n){"use strict"
-var r=e(35),i=Date.prototype.getTime,o=Date.prototype.toISOString,s=function(e){return e>9?e:"0"+e}
-t.exports=r(function(){return"0385-07-25T07:06:39.999Z"!=o.call(new Date(-5e13-1))})||!r(function(){o.call(new Date(NaN))})?function(){if(!isFinite(i.call(this)))throw RangeError("Invalid time value")
-var e=this,t=e.getUTCFullYear(),n=e.getUTCMilliseconds(),r=t<0?"-":t>9999?"+":""
-return r+("00000"+Math.abs(t)).slice(r?-6:-4)+"-"+s(e.getUTCMonth()+1)+"-"+s(e.getUTCDate())+"T"+s(e.getUTCHours())+":"+s(e.getUTCMinutes())+":"+s(e.getUTCSeconds())+"."+(n>99?n:"0"+s(n))+"Z"}:o},{35:35}],27:[function(e,t,n){"use strict"
-var r=e(7),i=e(120)
-t.exports=function(e){if("string"!==e&&"number"!==e&&"default"!==e)throw TypeError("Incorrect hint")
-return i(r(this),"number"!=e)}},{120:120,7:7}],28:[function(e,t,n){t.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e)
-return e}},{}],29:[function(e,t,n){t.exports=!e(35)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{35:35}],30:[function(e,t,n){var r=e(51),i=e(40).document,o=r(i)&&r(i.createElement)
-t.exports=function(e){return o?i.createElement(e):{}}},{40:40,51:51}],31:[function(e,t,n){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},{}],32:[function(e,t,n){var r=e(81),i=e(78),o=e(82)
-t.exports=function(e){var t=r(e),n=i.f
-if(n)for(var s,a=n(e),u=o.f,c=0;a.length>c;)u.call(e,s=a[c++])&&t.push(s)
-return t}},{78:78,81:81,82:82}],33:[function(e,t,n){var r=e(40),i=e(23),o=e(42),s=e(94),a=e(25),u=function(e,t,n){var c,l,h,d,p=e&u.F,f=e&u.G,g=e&u.S,m=e&u.P,v=e&u.B,y=f?r:g?r[t]||(r[t]={}):(r[t]||{}).prototype,b=f?i:i[t]||(i[t]={}),C=b.prototype||(b.prototype={})
-f&&(n=t)
-for(c in n)l=!p&&y&&void 0!==y[c],h=(l?y:n)[c],d=v&&l?a(h,r):m&&"function"==typeof h?a(Function.call,h):h,y&&s(y,c,h,e&u.U),b[c]!=h&&o(b,c,d),m&&C[c]!=h&&(C[c]=h)}
-r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},{23:23,25:25,40:40,42:42,94:94}],34:[function(e,t,n){var r=e(128)("match")
-t.exports=function(e){var t=/./
-try{"/./"[e](t)}catch(n){try{return t[r]=!1,!"/./"[e](t)}catch(e){}}return!0}},{128:128}],35:[function(e,t,n){t.exports=function(e){try{return!!e()}catch(e){return!0}}},{}],36:[function(e,t,n){"use strict"
-var r=e(42),i=e(94),o=e(35),s=e(28),a=e(128)
-t.exports=function(e,t,n){var u=a(e),c=n(s,u,""[e]),l=c[0],h=c[1]
-o(function(){var t={}
-return t[u]=function(){return 7},7!=""[e](t)})&&(i(String.prototype,e,l),r(RegExp.prototype,u,2==t?function(e,t){return h.call(e,this,t)}:function(e){return h.call(e,this)}))}},{128:128,28:28,35:35,42:42,94:94}],37:[function(e,t,n){"use strict"
-var r=e(7)
-t.exports=function(){var e=r(this),t=""
-return e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.unicode&&(t+="u"),e.sticky&&(t+="y"),t}},{7:7}],38:[function(e,t,n){"use strict"
-function r(e,t,n,c,l,h,d,p){for(var f,g,m=l,v=0,y=!!d&&a(d,p,3);v<c;){if(v in n){if(f=y?y(n[v],v,t):n[v],g=!1,o(f)&&(g=f[u],g=void 0!==g?!!g:i(f)),g&&h>0)m=r(e,t,f,s(f.length),m,h-1)-1
-else{if(m>=9007199254740991)throw TypeError()
-e[m]=f}m++}v++}return m}var i=e(49),o=e(51),s=e(118),a=e(25),u=e(128)("isConcatSpreadable")
-t.exports=r},{118:118,128:128,25:25,49:49,51:51}],39:[function(e,t,n){var r=e(25),i=e(53),o=e(48),s=e(7),a=e(118),u=e(129),c={},l={},n=t.exports=function(e,t,n,h,d){var p,f,g,m,v=d?function(){return e}:u(e),y=r(n,h,t?2:1),b=0
-if("function"!=typeof v)throw TypeError(e+" is not iterable!")
-if(o(v)){for(p=a(e.length);p>b;b++)if((m=t?y(s(f=e[b])[0],f[1]):y(e[b]))===c||m===l)return m}else for(g=v.call(e);!(f=g.next()).done;)if((m=i(g,y,f.value,t))===c||m===l)return m}
-n.BREAK=c,n.RETURN=l},{118:118,129:129,25:25,48:48,53:53,7:7}],40:[function(e,t,n){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")()
-"number"==typeof __g&&(__g=r)},{}],41:[function(e,t,n){var r={}.hasOwnProperty
-t.exports=function(e,t){return r.call(e,t)}},{}],42:[function(e,t,n){var r=e(72),i=e(92)
-t.exports=e(29)?function(e,t,n){return r.f(e,t,i(1,n))}:function(e,t,n){return e[t]=n,e}},{29:29,72:72,92:92}],43:[function(e,t,n){var r=e(40).document
-t.exports=r&&r.documentElement},{40:40}],44:[function(e,t,n){t.exports=!e(29)&&!e(35)(function(){return 7!=Object.defineProperty(e(30)("div"),"a",{get:function(){return 7}}).a})},{29:29,30:30,35:35}],45:[function(e,t,n){var r=e(51),i=e(99).set
-t.exports=function(e,t,n){var o,s=t.constructor
-return s!==n&&"function"==typeof s&&(o=s.prototype)!==n.prototype&&r(o)&&i&&i(e,o),e}},{51:51,99:99}],46:[function(e,t,n){t.exports=function(e,t,n){var r=void 0===n
-switch(t.length){case 0:return r?e():e.call(n)
-case 1:return r?e(t[0]):e.call(n,t[0])
-case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1])
-case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2])
-case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},{}],47:[function(e,t,n){var r=e(18)
-t.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==r(e)?e.split(""):Object(e)}},{18:18}],48:[function(e,t,n){var r=e(58),i=e(128)("iterator"),o=Array.prototype
-t.exports=function(e){return void 0!==e&&(r.Array===e||o[i]===e)}},{128:128,58:58}],49:[function(e,t,n){var r=e(18)
-t.exports=Array.isArray||function(e){return"Array"==r(e)}},{18:18}],50:[function(e,t,n){var r=e(51),i=Math.floor
-t.exports=function(e){return!r(e)&&isFinite(e)&&i(e)===e}},{51:51}],51:[function(e,t,n){t.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},{}],52:[function(e,t,n){var r=e(51),i=e(18),o=e(128)("match")
-t.exports=function(e){var t
-return r(e)&&(void 0!==(t=e[o])?!!t:"RegExp"==i(e))}},{128:128,18:18,51:51}],53:[function(e,t,n){var r=e(7)
-t.exports=function(e,t,n,i){try{return i?t(r(n)[0],n[1]):t(n)}catch(t){var o=e.return
-throw void 0!==o&&r(o.call(e)),t}}},{7:7}],54:[function(e,t,n){"use strict"
-var r=e(71),i=e(92),o=e(101),s={}
-e(42)(s,e(128)("iterator"),function(){return this}),t.exports=function(e,t,n){e.prototype=r(s,{next:i(1,n)}),o(e,t+" Iterator")}},{101:101,128:128,42:42,71:71,92:92}],55:[function(e,t,n){"use strict"
-var r=e(60),i=e(33),o=e(94),s=e(42),a=e(41),u=e(58),c=e(54),l=e(101),h=e(79),d=e(128)("iterator"),p=!([].keys&&"next"in[].keys()),f=function(){return this}
-t.exports=function(e,t,n,g,m,v,y){c(n,t,g)
-var b,C,A,_=function(e){if(!p&&e in k)return k[e]
-switch(e){case"keys":case"values":return function(){return new n(this,e)}}return function(){return new n(this,e)}},I=t+" Iterator",w="values"==m,x=!1,k=e.prototype,j=k[d]||k["@@iterator"]||m&&k[m],E=j||_(m),S=m?w?_("entries"):E:void 0,T="Array"==t?k.entries||j:j
-if(T&&(A=h(T.call(new e)))!==Object.prototype&&A.next&&(l(A,I,!0),r||a(A,d)||s(A,d,f)),w&&j&&"values"!==j.name&&(x=!0,E=function(){return j.call(this)}),r&&!y||!p&&!x&&k[d]||s(k,d,E),u[t]=E,u[I]=f,m)if(b={values:w?E:_("values"),keys:v?E:_("keys"),entries:S},y)for(C in b)C in k||o(k,C,b[C])
-else i(i.P+i.F*(p||x),t,b)
-return b}},{101:101,128:128,33:33,41:41,42:42,54:54,58:58,60:60,79:79,94:94}],56:[function(e,t,n){var r=e(128)("iterator"),i=!1
-try{var o=[7][r]()
-o.return=function(){i=!0},Array.from(o,function(){throw 2})}catch(e){}t.exports=function(e,t){if(!t&&!i)return!1
-var n=!1
-try{var o=[7],s=o[r]()
-s.next=function(){return{done:n=!0}},o[r]=function(){return s},e(o)}catch(e){}return n}},{128:128}],57:[function(e,t,n){t.exports=function(e,t){return{value:t,done:!!e}}},{}],58:[function(e,t,n){t.exports={}},{}],59:[function(e,t,n){var r=e(81),i=e(117)
-t.exports=function(e,t){for(var n,o=i(e),s=r(o),a=s.length,u=0;a>u;)if(o[n=s[u++]]===t)return n}},{117:117,81:81}],60:[function(e,t,n){t.exports=!1},{}],61:[function(e,t,n){var r=Math.expm1
-t.exports=!r||r(10)>22025.465794806718||r(10)<22025.465794806718||-2e-17!=r(-2e-17)?function(e){return 0==(e=+e)?e:e>-1e-6&&e<1e-6?e+e*e/2:Math.exp(e)-1}:r},{}],62:[function(e,t,n){var r=e(65),i=Math.pow,o=i(2,-52),s=i(2,-23),a=i(2,127)*(2-s),u=i(2,-126),c=function(e){return e+1/o-1/o}
-t.exports=Math.fround||function(e){var t,n,i=Math.abs(e),l=r(e)
-return i<u?l*c(i/u/s)*u*s:(t=(1+s/o)*i,n=t-(t-i),n>a||n!=n?l*(1/0):l*n)}},{65:65}],63:[function(e,t,n){t.exports=Math.log1p||function(e){return(e=+e)>-1e-8&&e<1e-8?e-e*e/2:Math.log(1+e)}},{}],64:[function(e,t,n){t.exports=Math.scale||function(e,t,n,r,i){return 0===arguments.length||e!=e||t!=t||n!=n||r!=r||i!=i?NaN:e===1/0||e===-1/0?e:(e-t)*(i-r)/(n-t)+r}},{}],65:[function(e,t,n){t.exports=Math.sign||function(e){return 0==(e=+e)||e!=e?e:e<0?-1:1}},{}],66:[function(e,t,n){var r=e(124)("meta"),i=e(51),o=e(41),s=e(72).f,a=0,u=Object.isExtensible||function(){return!0},c=!e(35)(function(){return u(Object.preventExtensions({}))}),l=function(e){s(e,r,{value:{i:"O"+ ++a,w:{}}})},h=function(e,t){if(!i(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e
-if(!o(e,r)){if(!u(e))return"F"
-if(!t)return"E"
-l(e)}return e[r].i},d=function(e,t){if(!o(e,r)){if(!u(e))return!0
-if(!t)return!1
-l(e)}return e[r].w},p=function(e){return c&&f.NEED&&u(e)&&!o(e,r)&&l(e),e},f=t.exports={KEY:r,NEED:!1,fastKey:h,getWeak:d,onFreeze:p}},{124:124,35:35,41:41,51:51,72:72}],67:[function(e,t,n){var r=e(160),i=e(33),o=e(103)("metadata"),s=o.store||(o.store=new(e(266))),a=function(e,t,n){var i=s.get(e)
-if(!i){if(!n)return
-s.set(e,i=new r)}var o=i.get(t)
-if(!o){if(!n)return
-i.set(t,o=new r)}return o},u=function(e,t,n){var r=a(t,n,!1)
-return void 0!==r&&r.has(e)},c=function(e,t,n){var r=a(t,n,!1)
-return void 0===r?void 0:r.get(e)},l=function(e,t,n,r){a(n,r,!0).set(e,t)},h=function(e,t){var n=a(e,t,!1),r=[]
-return n&&n.forEach(function(e,t){r.push(t)}),r},d=function(e){return void 0===e||"symbol"==typeof e?e:String(e)},p=function(e){i(i.S,"Reflect",e)}
-t.exports={store:s,map:a,has:u,get:c,set:l,keys:h,key:d,exp:p}},{103:103,160:160,266:266,33:33}],68:[function(e,t,n){var r=e(40),i=e(113).set,o=r.MutationObserver||r.WebKitMutationObserver,s=r.process,a=r.Promise,u="process"==e(18)(s)
-t.exports=function(){var e,t,n,c=function(){var r,i
-for(u&&(r=s.domain)&&r.exit();e;){i=e.fn,e=e.next
-try{i()}catch(r){throw e?n():t=void 0,r}}t=void 0,r&&r.enter()}
-if(u)n=function(){s.nextTick(c)}
-else if(o){var l=!0,h=document.createTextNode("")
-new o(c).observe(h,{characterData:!0}),n=function(){h.data=l=!l}}else if(a&&a.resolve){var d=a.resolve()
-n=function(){d.then(c)}}else n=function(){i.call(r,c)}
-return function(r){var i={fn:r,next:void 0}
-t&&(t.next=i),e||(e=i,n()),t=i}}},{113:113,18:18,40:40}],69:[function(e,t,n){"use strict"
-function r(e){var t,n
-this.promise=new e(function(e,r){if(void 0!==t||void 0!==n)throw TypeError("Bad Promise constructor")
-t=e,n=r}),this.resolve=i(t),this.reject=i(n)}var i=e(3)
-t.exports.f=function(e){return new r(e)}},{3:3}],70:[function(e,t,n){"use strict"
-var r=e(81),i=e(78),o=e(82),s=e(119),a=e(47),u=Object.assign
-t.exports=!u||e(35)(function(){var e={},t={},n=Symbol(),r="abcdefghijklmnopqrst"
-return e[n]=7,r.split("").forEach(function(e){t[e]=e}),7!=u({},e)[n]||Object.keys(u({},t)).join("")!=r})?function(e,t){for(var n=s(e),u=arguments.length,c=1,l=i.f,h=o.f;u>c;)for(var d,p=a(arguments[c++]),f=l?r(p).concat(l(p)):r(p),g=f.length,m=0;g>m;)h.call(p,d=f[m++])&&(n[d]=p[d])
-return n}:u},{119:119,35:35,47:47,78:78,81:81,82:82}],71:[function(e,t,n){var r=e(7),i=e(73),o=e(31),s=e(102)("IE_PROTO"),a=function(){},u=function(){var t,n=e(30)("iframe"),r=o.length
-for(n.style.display="none",e(43).appendChild(n),n.src="javascript:",t=n.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),u=t.F;r--;)delete u.prototype[o[r]]
-return u()}
-t.exports=Object.create||function(e,t){var n
-return null!==e?(a.prototype=r(e),n=new a,a.prototype=null,n[s]=e):n=u(),void 0===t?n:i(n,t)}},{102:102,30:30,31:31,43:43,7:7,73:73}],72:[function(e,t,n){var r=e(7),i=e(44),o=e(120),s=Object.defineProperty
-n.f=e(29)?Object.defineProperty:function(e,t,n){if(r(e),t=o(t,!0),r(n),i)try{return s(e,t,n)}catch(e){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!")
-return"value"in n&&(e[t]=n.value),e}},{120:120,29:29,44:44,7:7}],73:[function(e,t,n){var r=e(72),i=e(7),o=e(81)
-t.exports=e(29)?Object.defineProperties:function(e,t){i(e)
-for(var n,s=o(t),a=s.length,u=0;a>u;)r.f(e,n=s[u++],t[n])
-return e}},{29:29,7:7,72:72,81:81}],74:[function(e,t,n){"use strict"
-t.exports=e(60)||!e(35)(function(){var t=Math.random()
-__defineSetter__.call(null,t,function(){}),delete e(40)[t]})},{35:35,40:40,60:60}],75:[function(e,t,n){var r=e(82),i=e(92),o=e(117),s=e(120),a=e(41),u=e(44),c=Object.getOwnPropertyDescriptor
-n.f=e(29)?c:function(e,t){if(e=o(e),t=s(t,!0),u)try{return c(e,t)}catch(e){}if(a(e,t))return i(!r.f.call(e,t),e[t])}},{117:117,120:120,29:29,41:41,44:44,82:82,92:92}],76:[function(e,t,n){var r=e(117),i=e(77).f,o={}.toString,s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],a=function(e){try{return i(e)}catch(e){return s.slice()}}
-t.exports.f=function(e){return s&&"[object Window]"==o.call(e)?a(e):i(r(e))}},{117:117,77:77}],77:[function(e,t,n){var r=e(80),i=e(31).concat("length","prototype")
-n.f=Object.getOwnPropertyNames||function(e){return r(e,i)}},{31:31,80:80}],78:[function(e,t,n){n.f=Object.getOwnPropertySymbols},{}],79:[function(e,t,n){var r=e(41),i=e(119),o=e(102)("IE_PROTO"),s=Object.prototype
-t.exports=Object.getPrototypeOf||function(e){return e=i(e),r(e,o)?e[o]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?s:null}},{102:102,119:119,41:41}],80:[function(e,t,n){var r=e(41),i=e(117),o=e(11)(!1),s=e(102)("IE_PROTO")
-t.exports=function(e,t){var n,a=i(e),u=0,c=[]
-for(n in a)n!=s&&r(a,n)&&c.push(n)
-for(;t.length>u;)r(a,n=t[u++])&&(~o(c,n)||c.push(n))
-return c}},{102:102,11:11,117:117,41:41}],81:[function(e,t,n){var r=e(80),i=e(31)
-t.exports=Object.keys||function(e){return r(e,i)}},{31:31,80:80}],82:[function(e,t,n){n.f={}.propertyIsEnumerable},{}],83:[function(e,t,n){var r=e(33),i=e(23),o=e(35)
-t.exports=function(e,t){var n=(i.Object||{})[e]||Object[e],s={}
-s[e]=t(n),r(r.S+r.F*o(function(){n(1)}),"Object",s)}},{23:23,33:33,35:35}],84:[function(e,t,n){var r=e(81),i=e(117),o=e(82).f
-t.exports=function(e){return function(t){for(var n,s=i(t),a=r(s),u=a.length,c=0,l=[];u>c;)o.call(s,n=a[c++])&&l.push(e?[n,s[n]]:s[n])
-return l}}},{117:117,81:81,82:82}],85:[function(e,t,n){var r=e(77),i=e(78),o=e(7),s=e(40).Reflect
-t.exports=s&&s.ownKeys||function(e){var t=r.f(o(e)),n=i.f
-return n?t.concat(n(e)):t}},{40:40,7:7,77:77,78:78}],86:[function(e,t,n){var r=e(40).parseFloat,i=e(111).trim
-t.exports=1/r(e(112)+"-0")!=-1/0?function(e){var t=i(String(e),3),n=r(t)
-return 0===n&&"-"==t.charAt(0)?-0:n}:r},{111:111,112:112,40:40}],87:[function(e,t,n){var r=e(40).parseInt,i=e(111).trim,o=e(112),s=/^[-+]?0[xX]/
-t.exports=8!==r(o+"08")||22!==r(o+"0x16")?function(e,t){var n=i(String(e),3)
-return r(n,t>>>0||(s.test(n)?16:10))}:r},{111:111,112:112,40:40}],88:[function(e,t,n){"use strict"
-var r=e(89),i=e(46),o=e(3)
-t.exports=function(){for(var e=o(this),t=arguments.length,n=Array(t),s=0,a=r._,u=!1;t>s;)(n[s]=arguments[s++])===a&&(u=!0)
-return function(){var r,o=this,s=arguments.length,c=0,l=0
-if(!u&&!s)return i(e,n,o)
-if(r=n.slice(),u)for(;t>c;c++)r[c]===a&&(r[c]=arguments[l++])
-for(;s>l;)r.push(arguments[l++])
-return i(e,r,o)}}},{3:3,46:46,89:89}],89:[function(e,t,n){t.exports=e(40)},{40:40}],90:[function(e,t,n){t.exports=function(e){try{return{e:!1,v:e()}}catch(e){return{e:!0,v:e}}}},{}],91:[function(e,t,n){var r=e(69)
-t.exports=function(e,t){var n=r.f(e)
-return(0,n.resolve)(t),n.promise}},{69:69}],92:[function(e,t,n){t.exports=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}},{}],93:[function(e,t,n){var r=e(94)
-t.exports=function(e,t,n){for(var i in t)r(e,i,t[i],n)
-return e}},{94:94}],94:[function(e,t,n){var r=e(40),i=e(42),o=e(41),s=e(124)("src"),a=Function.toString,u=(""+a).split("toString")
-e(23).inspectSource=function(e){return a.call(e)},(t.exports=function(e,t,n,a){var c="function"==typeof n
-c&&(o(n,"name")||i(n,"name",t)),e[t]!==n&&(c&&(o(n,s)||i(n,s,e[t]?""+e[t]:u.join(String(t)))),e===r?e[t]=n:a?e[t]?e[t]=n:i(e,t,n):(delete e[t],i(e,t,n)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[s]||a.call(this)})},{124:124,23:23,40:40,41:41,42:42}],95:[function(e,t,n){t.exports=function(e,t){var n=t===Object(t)?function(e){return t[e]}:t
-return function(t){return String(t).replace(e,n)}}},{}],96:[function(e,t,n){t.exports=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}},{}],97:[function(e,t,n){"use strict"
-var r=e(33),i=e(3),o=e(25),s=e(39)
-t.exports=function(e){r(r.S,e,{from:function(e){var t,n,r,a,u=arguments[1]
-return i(this),t=void 0!==u,t&&i(u),void 0==e?new this:(n=[],t?(r=0,a=o(u,arguments[2],2),s(e,!1,function(e){n.push(a(e,r++))})):s(e,!1,n.push,n),new this(n))}})}},{25:25,3:3,33:33,39:39}],98:[function(e,t,n){"use strict"
-var r=e(33)
-t.exports=function(e){r(r.S,e,{of:function(){for(var e=arguments.length,t=Array(e);e--;)t[e]=arguments[e]
-return new this(t)}})}},{33:33}],99:[function(e,t,n){var r=e(51),i=e(7),o=function(e,t){if(i(e),!r(t)&&null!==t)throw TypeError(t+": can't set as prototype!")}
-t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,n,r){try{r=e(25)(Function.call,e(75).f(Object.prototype,"__proto__").set,2),r(t,[]),n=!(t instanceof Array)}catch(e){n=!0}return function(e,t){return o(e,t),n?e.__proto__=t:r(e,t),e}}({},!1):void 0),check:o}},{25:25,51:51,7:7,75:75}],100:[function(e,t,n){"use strict"
-var r=e(40),i=e(72),o=e(29),s=e(128)("species")
-t.exports=function(e){var t=r[e]
-o&&t&&!t[s]&&i.f(t,s,{configurable:!0,get:function(){return this}})}},{128:128,29:29,40:40,72:72}],101:[function(e,t,n){var r=e(72).f,i=e(41),o=e(128)("toStringTag")
-t.exports=function(e,t,n){e&&!i(e=n?e:e.prototype,o)&&r(e,o,{configurable:!0,value:t})}},{128:128,41:41,72:72}],102:[function(e,t,n){var r=e(103)("keys"),i=e(124)
-t.exports=function(e){return r[e]||(r[e]=i(e))}},{103:103,124:124}],103:[function(e,t,n){var r=e(40),i=r["__core-js_shared__"]||(r["__core-js_shared__"]={})
-t.exports=function(e){return i[e]||(i[e]={})}},{40:40}],104:[function(e,t,n){var r=e(7),i=e(3),o=e(128)("species")
-t.exports=function(e,t){var n,s=r(e).constructor
-return void 0===s||void 0==(n=r(s)[o])?t:i(n)}},{128:128,3:3,7:7}],105:[function(e,t,n){"use strict"
-var r=e(35)
-t.exports=function(e,t){return!!e&&r(function(){t?e.call(null,function(){},1):e.call(null)})}},{35:35}],106:[function(e,t,n){var r=e(116),i=e(28)
-t.exports=function(e){return function(t,n){var o,s,a=String(i(t)),u=r(n),c=a.length
-return u<0||u>=c?e?"":void 0:(o=a.charCodeAt(u),o<55296||o>56319||u+1===c||(s=a.charCodeAt(u+1))<56320||s>57343?e?a.charAt(u):o:e?a.slice(u,u+2):s-56320+(o-55296<<10)+65536)}}},{116:116,28:28}],107:[function(e,t,n){var r=e(52),i=e(28)
-t.exports=function(e,t,n){if(r(t))throw TypeError("String#"+n+" doesn't accept regex!")
-return String(i(e))}},{28:28,52:52}],108:[function(e,t,n){var r=e(33),i=e(35),o=e(28),s=/"/g,a=function(e,t,n,r){var i=String(o(e)),a="<"+t
-return""!==n&&(a+=" "+n+'="'+String(r).replace(s,"&quot;")+'"'),a+">"+i+"</"+t+">"}
-t.exports=function(e,t){var n={}
-n[e]=t(a),r(r.P+r.F*i(function(){var t=""[e]('"')
-return t!==t.toLowerCase()||t.split('"').length>3}),"String",n)}},{28:28,33:33,35:35}],109:[function(e,t,n){var r=e(118),i=e(110),o=e(28)
-t.exports=function(e,t,n,s){var a=String(o(e)),u=a.length,c=void 0===n?" ":String(n),l=r(t)
-if(l<=u||""==c)return a
-var h=l-u,d=i.call(c,Math.ceil(h/c.length))
-return d.length>h&&(d=d.slice(0,h)),s?d+a:a+d}},{110:110,118:118,28:28}],110:[function(e,t,n){"use strict"
-var r=e(116),i=e(28)
-t.exports=function(e){var t=String(i(this)),n="",o=r(e)
-if(o<0||o==1/0)throw RangeError("Count can't be negative")
-for(;o>0;(o>>>=1)&&(t+=t))1&o&&(n+=t)
-return n}},{116:116,28:28}],111:[function(e,t,n){var r=e(33),i=e(28),o=e(35),s=e(112),a="["+s+"]",u="​…",c=RegExp("^"+a+a+"*"),l=RegExp(a+a+"*$"),h=function(e,t,n){var i={},a=o(function(){return!!s[e]()||u[e]()!=u}),c=i[e]=a?t(d):s[e]
-n&&(i[n]=c),r(r.P+r.F*a,"String",i)},d=h.trim=function(e,t){return e=String(i(e)),1&t&&(e=e.replace(c,"")),2&t&&(e=e.replace(l,"")),e}
-t.exports=h},{112:112,28:28,33:33,35:35}],112:[function(e,t,n){t.exports="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff"},{}],113:[function(e,t,n){var r,i,o,s=e(25),a=e(46),u=e(43),c=e(30),l=e(40),h=l.process,d=l.setImmediate,p=l.clearImmediate,f=l.MessageChannel,g=l.Dispatch,m=0,v={},y=function(){var e=+this
-if(v.hasOwnProperty(e)){var t=v[e]
-delete v[e],t()}},b=function(e){y.call(e.data)}
-d&&p||(d=function(e){for(var t=[],n=1;arguments.length>n;)t.push(arguments[n++])
-return v[++m]=function(){a("function"==typeof e?e:Function(e),t)},r(m),m},p=function(e){delete v[e]},"process"==e(18)(h)?r=function(e){h.nextTick(s(y,e,1))}:g&&g.now?r=function(e){g.now(s(y,e,1))}:f?(i=new f,o=i.port2,i.port1.onmessage=b,r=s(o.postMessage,o,1)):l.addEventListener&&"function"==typeof postMessage&&!l.importScripts?(r=function(e){l.postMessage(e+"","*")},l.addEventListener("message",b,!1)):r="onreadystatechange"in c("script")?function(e){u.appendChild(c("script")).onreadystatechange=function(){u.removeChild(this),y.call(e)}}:function(e){setTimeout(s(y,e,1),0)}),t.exports={set:d,clear:p}},{18:18,25:25,30:30,40:40,43:43,46:46}],114:[function(e,t,n){var r=e(116),i=Math.max,o=Math.min
-t.exports=function(e,t){return e=r(e),e<0?i(e+t,0):o(e,t)}},{116:116}],115:[function(e,t,n){var r=e(116),i=e(118)
-t.exports=function(e){if(void 0===e)return 0
-var t=r(e),n=i(t)
-if(t!==n)throw RangeError("Wrong length!")
-return n}},{116:116,118:118}],116:[function(e,t,n){var r=Math.ceil,i=Math.floor
-t.exports=function(e){return isNaN(e=+e)?0:(e>0?i:r)(e)}},{}],117:[function(e,t,n){var r=e(47),i=e(28)
-t.exports=function(e){return r(i(e))}},{28:28,47:47}],118:[function(e,t,n){var r=e(116),i=Math.min
-t.exports=function(e){return e>0?i(r(e),9007199254740991):0}},{116:116}],119:[function(e,t,n){var r=e(28)
-t.exports=function(e){return Object(r(e))}},{28:28}],120:[function(e,t,n){var r=e(51)
-t.exports=function(e,t){if(!r(e))return e
-var n,i
-if(t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i
-if("function"==typeof(n=e.valueOf)&&!r(i=n.call(e)))return i
-if(!t&&"function"==typeof(n=e.toString)&&!r(i=n.call(e)))return i
-throw TypeError("Can't convert object to primitive value")}},{51:51}],121:[function(e,t,n){"use strict"
-if(e(29)){var r=e(60),i=e(40),o=e(35),s=e(33),a=e(123),u=e(122),c=e(25),l=e(6),h=e(92),d=e(42),p=e(93),f=e(116),g=e(118),m=e(115),v=e(114),y=e(120),b=e(41),C=e(17),A=e(51),_=e(119),I=e(48),w=e(71),x=e(79),k=e(77).f,j=e(129),E=e(124),S=e(128),T=e(12),P=e(11),O=e(104),R=e(141),N=e(58),M=e(56),L=e(100),D=e(9),z=e(8),F=e(72),B=e(75),H=F.f,U=B.f,q=i.RangeError,V=i.TypeError,W=i.Uint8Array,G=Array.prototype,Y=u.ArrayBuffer,K=u.DataView,Q=T(0),Z=T(2),X=T(3),J=T(4),$=T(5),ee=T(6),te=P(!0),ne=P(!1),re=R.values,ie=R.keys,oe=R.entries,se=G.lastIndexOf,ae=G.reduce,ue=G.reduceRight,ce=G.join,le=G.sort,he=G.slice,de=G.toString,pe=G.toLocaleString,fe=S("iterator"),ge=S("toStringTag"),me=E("typed_constructor"),ve=E("def_constructor"),ye=a.CONSTR,be=a.TYPED,Ce=a.VIEW,Ae=T(1,function(e,t){return ke(O(e,e[ve]),t)}),_e=o(function(){return 1===new W(new Uint16Array([1]).buffer)[0]}),Ie=!!W&&!!W.prototype.set&&o(function(){new W(1).set({})}),we=function(e,t){var n=f(e)
-if(n<0||n%t)throw q("Wrong offset!")
-return n},xe=function(e){if(A(e)&&be in e)return e
-throw V(e+" is not a typed array!")},ke=function(e,t){if(!(A(e)&&me in e))throw V("It is not a typed array constructor!")
-return new e(t)},je=function(e,t){return Ee(O(e,e[ve]),t)},Ee=function(e,t){for(var n=0,r=t.length,i=ke(e,r);r>n;)i[n]=t[n++]
-return i},Se=function(e,t,n){H(e,t,{get:function(){return this._d[n]}})},Te=function(e){var t,n,r,i,o,s,a=_(e),u=arguments.length,l=u>1?arguments[1]:void 0,h=void 0!==l,d=j(a)
-if(void 0!=d&&!I(d)){for(s=d.call(a),r=[],t=0;!(o=s.next()).done;t++)r.push(o.value)
-a=r}for(h&&u>2&&(l=c(l,arguments[2],2)),t=0,n=g(a.length),i=ke(this,n);n>t;t++)i[t]=h?l(a[t],t):a[t]
-return i},Pe=function(){for(var e=0,t=arguments.length,n=ke(this,t);t>e;)n[e]=arguments[e++]
-return n},Oe=!!W&&o(function(){pe.call(new W(1))}),Re=function(){return pe.apply(Oe?he.call(xe(this)):xe(this),arguments)},Ne={copyWithin:function(e,t){return z.call(xe(this),e,t,arguments.length>2?arguments[2]:void 0)},every:function(e){return J(xe(this),e,arguments.length>1?arguments[1]:void 0)},fill:function(e){return D.apply(xe(this),arguments)},filter:function(e){return je(this,Z(xe(this),e,arguments.length>1?arguments[1]:void 0))},find:function(e){return $(xe(this),e,arguments.length>1?arguments[1]:void 0)},findIndex:function(e){return ee(xe(this),e,arguments.length>1?arguments[1]:void 0)},forEach:function(e){Q(xe(this),e,arguments.length>1?arguments[1]:void 0)},indexOf:function(e){return ne(xe(this),e,arguments.length>1?arguments[1]:void 0)},includes:function(e){return te(xe(this),e,arguments.length>1?arguments[1]:void 0)},join:function(e){return ce.apply(xe(this),arguments)},lastIndexOf:function(e){return se.apply(xe(this),arguments)},map:function(e){return Ae(xe(this),e,arguments.length>1?arguments[1]:void 0)},reduce:function(e){return ae.apply(xe(this),arguments)},reduceRight:function(e){return ue.apply(xe(this),arguments)},reverse:function(){for(var e,t=this,n=xe(t).length,r=Math.floor(n/2),i=0;i<r;)e=t[i],t[i++]=t[--n],t[n]=e
-return t},some:function(e){return X(xe(this),e,arguments.length>1?arguments[1]:void 0)},sort:function(e){return le.call(xe(this),e)},subarray:function(e,t){var n=xe(this),r=n.length,i=v(e,r)
-return new(O(n,n[ve]))(n.buffer,n.byteOffset+i*n.BYTES_PER_ELEMENT,g((void 0===t?r:v(t,r))-i))}},Me=function(e,t){return je(this,he.call(xe(this),e,t))},Le=function(e){xe(this)
-var t=we(arguments[1],1),n=this.length,r=_(e),i=g(r.length),o=0
-if(i+t>n)throw q("Wrong length!")
-for(;o<i;)this[t+o]=r[o++]},De={entries:function(){return oe.call(xe(this))},keys:function(){return ie.call(xe(this))},values:function(){return re.call(xe(this))}},ze=function(e,t){return A(e)&&e[be]&&"symbol"!=typeof t&&t in e&&String(+t)==String(t)},Fe=function(e,t){return ze(e,t=y(t,!0))?h(2,e[t]):U(e,t)},Be=function(e,t,n){return!(ze(e,t=y(t,!0))&&A(n)&&b(n,"value"))||b(n,"get")||b(n,"set")||n.configurable||b(n,"writable")&&!n.writable||b(n,"enumerable")&&!n.enumerable?H(e,t,n):(e[t]=n.value,e)}
-ye||(B.f=Fe,F.f=Be),s(s.S+s.F*!ye,"Object",{getOwnPropertyDescriptor:Fe,defineProperty:Be}),o(function(){de.call({})})&&(de=pe=function(){return ce.call(this)})
-var He=p({},Ne)
-p(He,De),d(He,fe,De.values),p(He,{slice:Me,set:Le,constructor:function(){},toString:de,toLocaleString:Re}),Se(He,"buffer","b"),Se(He,"byteOffset","o"),Se(He,"byteLength","l"),Se(He,"length","e"),H(He,ge,{get:function(){return this[be]}}),t.exports=function(e,t,n,u){u=!!u
-var c=e+(u?"Clamped":"")+"Array",h="get"+e,p="set"+e,f=i[c],v=f||{},y=f&&x(f),b=!f||!a.ABV,_={},I=f&&f.prototype,j=function(e,n){var r=e._d
-return r.v[h](n*t+r.o,_e)},E=function(e,n,r){var i=e._d
-u&&(r=(r=Math.round(r))<0?0:r>255?255:255&r),i.v[p](n*t+i.o,r,_e)},S=function(e,t){H(e,t,{get:function(){return j(this,t)},set:function(e){return E(this,t,e)},enumerable:!0})}
-b?(f=n(function(e,n,r,i){l(e,f,c,"_d")
-var o,s,a,u,h=0,p=0
-if(A(n)){if(!(n instanceof Y||"ArrayBuffer"==(u=C(n))||"SharedArrayBuffer"==u))return be in n?Ee(f,n):Te.call(f,n)
-o=n,p=we(r,t)
-var v=n.byteLength
-if(void 0===i){if(v%t)throw q("Wrong length!")
-if((s=v-p)<0)throw q("Wrong length!")}else if((s=g(i)*t)+p>v)throw q("Wrong length!")
-a=s/t}else a=m(n),s=a*t,o=new Y(s)
-for(d(e,"_d",{b:o,o:p,l:s,e:a,v:new K(o)});h<a;)S(e,h++)}),I=f.prototype=w(He),d(I,"constructor",f)):o(function(){f(1)})&&o(function(){new f(-1)})&&M(function(e){new f,new f(null),new f(1.5),new f(e)},!0)||(f=n(function(e,n,r,i){l(e,f,c)
-var o
-return A(n)?n instanceof Y||"ArrayBuffer"==(o=C(n))||"SharedArrayBuffer"==o?void 0!==i?new v(n,we(r,t),i):void 0!==r?new v(n,we(r,t)):new v(n):be in n?Ee(f,n):Te.call(f,n):new v(m(n))}),Q(y!==Function.prototype?k(v).concat(k(y)):k(v),function(e){e in f||d(f,e,v[e])}),f.prototype=I,r||(I.constructor=f))
-var T=I[fe],P=!!T&&("values"==T.name||void 0==T.name),O=De.values
-d(f,me,!0),d(I,be,c),d(I,Ce,!0),d(I,ve,f),(u?new f(1)[ge]==c:ge in I)||H(I,ge,{get:function(){return c}}),_[c]=f,s(s.G+s.W+s.F*(f!=v),_),s(s.S,c,{BYTES_PER_ELEMENT:t}),s(s.S+s.F*o(function(){v.of.call(f,1)}),c,{from:Te,of:Pe}),"BYTES_PER_ELEMENT"in I||d(I,"BYTES_PER_ELEMENT",t),s(s.P,c,Ne),L(c),s(s.P+s.F*Ie,c,{set:Le}),s(s.P+s.F*!P,c,De),r||I.toString==de||(I.toString=de),s(s.P+s.F*o(function(){new f(1).slice()}),c,{slice:Me}),s(s.P+s.F*(o(function(){return[1,2].toLocaleString()!=new f([1,2]).toLocaleString()})||!o(function(){I.toLocaleString.call([1,2])})),c,{toLocaleString:Re}),N[c]=P?T:O,r||P||d(I,fe,O)}}else t.exports=function(){}},{100:100,104:104,11:11,114:114,115:115,116:116,118:118,119:119,12:12,120:120,122:122,123:123,124:124,128:128,129:129,141:141,17:17,25:25,29:29,33:33,35:35,40:40,41:41,42:42,48:48,51:51,56:56,58:58,6:6,60:60,71:71,72:72,75:75,77:77,79:79,8:8,9:9,92:92,93:93}],122:[function(e,t,n){"use strict"
-function r(e,t,n){var r,i,o,s=Array(n),a=8*n-t-1,u=(1<<a)-1,c=u>>1,l=23===t?z(2,-24)-z(2,-77):0,h=0,d=e<0||0===e&&1/e<0?1:0
-for(e=D(e),e!=e||e===M?(i=e!=e?1:0,r=u):(r=F(B(e)/H),e*(o=z(2,-r))<1&&(r--,o*=2),e+=r+c>=1?l/o:l*z(2,1-c),e*o>=2&&(r++,o/=2),r+c>=u?(i=0,r=u):r+c>=1?(i=(e*o-1)*z(2,t),r+=c):(i=e*z(2,c-1)*z(2,t),r=0));t>=8;s[h++]=255&i,i/=256,t-=8);for(r=r<<t|i,a+=t;a>0;s[h++]=255&r,r/=256,a-=8);return s[--h]|=128*d,s}function i(e,t,n){var r,i=8*n-t-1,o=(1<<i)-1,s=o>>1,a=i-7,u=n-1,c=e[u--],l=127&c
-for(c>>=7;a>0;l=256*l+e[u],u--,a-=8);for(r=l&(1<<-a)-1,l>>=-a,a+=t;a>0;r=256*r+e[u],u--,a-=8);if(0===l)l=1-s
-else{if(l===o)return r?NaN:c?-M:M
-r+=z(2,t),l-=s}return(c?-1:1)*r*z(2,l-t)}function o(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]}function s(e){return[255&e]}function a(e){return[255&e,e>>8&255]}function u(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]}function c(e){return r(e,52,8)}function l(e){return r(e,23,4)}function h(e,t,n){k(e[S],t,{get:function(){return this[n]}})}function d(e,t,n,r){var i=+n,o=w(i)
-if(o+t>e[q])throw N(T)
-var s=e[U]._b,a=o+e[V],u=s.slice(a,a+t)
-return r?u:u.reverse()}function p(e,t,n,r,i,o){var s=+n,a=w(s)
-if(a+t>e[q])throw N(T)
-for(var u=e[U]._b,c=a+e[V],l=r(+i),h=0;h<t;h++)u[c+h]=l[o?h:t-h-1]}var f=e(40),g=e(29),m=e(60),v=e(123),y=e(42),b=e(93),C=e(35),A=e(6),_=e(116),I=e(118),w=e(115),x=e(77).f,k=e(72).f,j=e(9),E=e(101),S="prototype",T="Wrong index!",P=f.ArrayBuffer,O=f.DataView,R=f.Math,N=f.RangeError,M=f.Infinity,L=P,D=R.abs,z=R.pow,F=R.floor,B=R.log,H=R.LN2,U=g?"_b":"buffer",q=g?"_l":"byteLength",V=g?"_o":"byteOffset"
-if(v.ABV){if(!C(function(){P(1)})||!C(function(){new P(-1)})||C(function(){return new P,new P(1.5),new P(NaN),"ArrayBuffer"!=P.name})){P=function(e){return A(this,P),new L(w(e))}
-for(var W,G=P[S]=L[S],Y=x(L),K=0;Y.length>K;)(W=Y[K++])in P||y(P,W,L[W])
-m||(G.constructor=P)}var Q=new O(new P(2)),Z=O[S].setInt8
-Q.setInt8(0,2147483648),Q.setInt8(1,2147483649),!Q.getInt8(0)&&Q.getInt8(1)||b(O[S],{setInt8:function(e,t){Z.call(this,e,t<<24>>24)},setUint8:function(e,t){Z.call(this,e,t<<24>>24)}},!0)}else P=function(e){A(this,P,"ArrayBuffer")
-var t=w(e)
-this._b=j.call(Array(t),0),this[q]=t},O=function(e,t,n){A(this,O,"DataView"),A(e,P,"DataView")
-var r=e[q],i=_(t)
-if(i<0||i>r)throw N("Wrong offset!")
-if(n=void 0===n?r-i:I(n),i+n>r)throw N("Wrong length!")
-this[U]=e,this[V]=i,this[q]=n},g&&(h(P,"byteLength","_l"),h(O,"buffer","_b"),h(O,"byteLength","_l"),h(O,"byteOffset","_o")),b(O[S],{getInt8:function(e){return d(this,1,e)[0]<<24>>24},getUint8:function(e){return d(this,1,e)[0]},getInt16:function(e){var t=d(this,2,e,arguments[1])
-return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=d(this,2,e,arguments[1])
-return t[1]<<8|t[0]},getInt32:function(e){return o(d(this,4,e,arguments[1]))},getUint32:function(e){return o(d(this,4,e,arguments[1]))>>>0},getFloat32:function(e){return i(d(this,4,e,arguments[1]),23,4)},getFloat64:function(e){return i(d(this,8,e,arguments[1]),52,8)},setInt8:function(e,t){p(this,1,e,s,t)},setUint8:function(e,t){p(this,1,e,s,t)},setInt16:function(e,t){p(this,2,e,a,t,arguments[2])},setUint16:function(e,t){p(this,2,e,a,t,arguments[2])},setInt32:function(e,t){p(this,4,e,u,t,arguments[2])},setUint32:function(e,t){p(this,4,e,u,t,arguments[2])},setFloat32:function(e,t){p(this,4,e,l,t,arguments[2])},setFloat64:function(e,t){p(this,8,e,c,t,arguments[2])}})
-E(P,"ArrayBuffer"),E(O,"DataView"),y(O[S],v.VIEW,!0),n.ArrayBuffer=P,n.DataView=O},{101:101,115:115,116:116,118:118,123:123,29:29,35:35,40:40,42:42,6:6,60:60,72:72,77:77,9:9,93:93}],123:[function(e,t,n){for(var r,i=e(40),o=e(42),s=e(124),a=s("typed_array"),u=s("view"),c=!(!i.ArrayBuffer||!i.DataView),l=c,h=0,d="Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array".split(",");h<9;)(r=i[d[h++]])?(o(r.prototype,a,!0),o(r.prototype,u,!0)):l=!1
-t.exports={ABV:c,CONSTR:l,TYPED:a,VIEW:u}},{124:124,40:40,42:42}],124:[function(e,t,n){var r=0,i=Math.random()
-t.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++r+i).toString(36))}},{}],125:[function(e,t,n){var r=e(51)
-t.exports=function(e,t){if(!r(e)||e._t!==t)throw TypeError("Incompatible receiver, "+t+" required!")
-return e}},{51:51}],126:[function(e,t,n){var r=e(40),i=e(23),o=e(60),s=e(127),a=e(72).f
-t.exports=function(e){var t=i.Symbol||(i.Symbol=o?{}:r.Symbol||{})
-"_"==e.charAt(0)||e in t||a(t,e,{value:s.f(e)})}},{127:127,23:23,40:40,60:60,72:72}],127:[function(e,t,n){n.f=e(128)},{128:128}],128:[function(e,t,n){var r=e(103)("wks"),i=e(124),o=e(40).Symbol,s="function"==typeof o;(t.exports=function(e){return r[e]||(r[e]=s&&o[e]||(s?o:i)("Symbol."+e))}).store=r},{103:103,124:124,40:40}],129:[function(e,t,n){var r=e(17),i=e(128)("iterator"),o=e(58)
-t.exports=e(23).getIteratorMethod=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},{128:128,17:17,23:23,58:58}],130:[function(e,t,n){var r=e(33),i=e(95)(/[\\^$*+?.()|[\]{}]/g,"\\$&")
-r(r.S,"RegExp",{escape:function(e){return i(e)}})},{33:33,95:95}],131:[function(e,t,n){var r=e(33)
-r(r.P,"Array",{copyWithin:e(8)}),e(5)("copyWithin")},{33:33,5:5,8:8}],132:[function(e,t,n){"use strict"
-var r=e(33),i=e(12)(4)
-r(r.P+r.F*!e(105)([].every,!0),"Array",{every:function(e){return i(this,e,arguments[1])}})},{105:105,12:12,33:33}],133:[function(e,t,n){var r=e(33)
-r(r.P,"Array",{fill:e(9)}),e(5)("fill")},{33:33,5:5,9:9}],134:[function(e,t,n){"use strict"
-var r=e(33),i=e(12)(2)
-r(r.P+r.F*!e(105)([].filter,!0),"Array",{filter:function(e){return i(this,e,arguments[1])}})},{105:105,12:12,33:33}],135:[function(e,t,n){"use strict"
-var r=e(33),i=e(12)(6),o="findIndex",s=!0
-o in[]&&Array(1)[o](function(){s=!1}),r(r.P+r.F*s,"Array",{findIndex:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),e(5)(o)},{12:12,33:33,5:5}],136:[function(e,t,n){"use strict"
-var r=e(33),i=e(12)(5),o=!0
-"find"in[]&&Array(1).find(function(){o=!1}),r(r.P+r.F*o,"Array",{find:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),e(5)("find")},{12:12,33:33,5:5}],137:[function(e,t,n){"use strict"
-var r=e(33),i=e(12)(0),o=e(105)([].forEach,!0)
-r(r.P+r.F*!o,"Array",{forEach:function(e){return i(this,e,arguments[1])}})},{105:105,12:12,33:33}],138:[function(e,t,n){"use strict"
-var r=e(25),i=e(33),o=e(119),s=e(53),a=e(48),u=e(118),c=e(24),l=e(129)
-i(i.S+i.F*!e(56)(function(e){Array.from(e)}),"Array",{from:function(e){var t,n,i,h,d=o(e),p="function"==typeof this?this:Array,f=arguments.length,g=f>1?arguments[1]:void 0,m=void 0!==g,v=0,y=l(d)
-if(m&&(g=r(g,f>2?arguments[2]:void 0,2)),void 0==y||p==Array&&a(y))for(t=u(d.length),n=new p(t);t>v;v++)c(n,v,m?g(d[v],v):d[v])
-else for(h=y.call(d),n=new p;!(i=h.next()).done;v++)c(n,v,m?s(h,g,[i.value,v],!0):i.value)
-return n.length=v,n}})},{118:118,119:119,129:129,24:24,25:25,33:33,48:48,53:53,56:56}],139:[function(e,t,n){"use strict"
-var r=e(33),i=e(11)(!1),o=[].indexOf,s=!!o&&1/[1].indexOf(1,-0)<0
-r(r.P+r.F*(s||!e(105)(o)),"Array",{indexOf:function(e){return s?o.apply(this,arguments)||0:i(this,e,arguments[1])}})},{105:105,11:11,33:33}],140:[function(e,t,n){var r=e(33)
-r(r.S,"Array",{isArray:e(49)})},{33:33,49:49}],141:[function(e,t,n){"use strict"
-var r=e(5),i=e(57),o=e(58),s=e(117)
-t.exports=e(55)(Array,"Array",function(e,t){this._t=s(e),this._i=0,this._k=t},function(){var e=this._t,t=this._k,n=this._i++
-return!e||n>=e.length?(this._t=void 0,i(1)):"keys"==t?i(0,n):"values"==t?i(0,e[n]):i(0,[n,e[n]])},"values"),o.Arguments=o.Array,r("keys"),r("values"),r("entries")},{117:117,5:5,55:55,57:57,58:58}],142:[function(e,t,n){"use strict"
-var r=e(33),i=e(117),o=[].join
-r(r.P+r.F*(e(47)!=Object||!e(105)(o)),"Array",{join:function(e){return o.call(i(this),void 0===e?",":e)}})},{105:105,117:117,33:33,47:47}],143:[function(e,t,n){"use strict"
-var r=e(33),i=e(117),o=e(116),s=e(118),a=[].lastIndexOf,u=!!a&&1/[1].lastIndexOf(1,-0)<0
-r(r.P+r.F*(u||!e(105)(a)),"Array",{lastIndexOf:function(e){if(u)return a.apply(this,arguments)||0
-var t=i(this),n=s(t.length),r=n-1
-for(arguments.length>1&&(r=Math.min(r,o(arguments[1]))),r<0&&(r=n+r);r>=0;r--)if(r in t&&t[r]===e)return r||0
-return-1}})},{105:105,116:116,117:117,118:118,33:33}],144:[function(e,t,n){"use strict"
-var r=e(33),i=e(12)(1)
-r(r.P+r.F*!e(105)([].map,!0),"Array",{map:function(e){return i(this,e,arguments[1])}})},{105:105,12:12,33:33}],145:[function(e,t,n){"use strict"
-var r=e(33),i=e(24)
-r(r.S+r.F*e(35)(function(){function e(){}return!(Array.of.call(e)instanceof e)}),"Array",{of:function(){for(var e=0,t=arguments.length,n=new("function"==typeof this?this:Array)(t);t>e;)i(n,e,arguments[e++])
-return n.length=t,n}})},{24:24,33:33,35:35}],146:[function(e,t,n){"use strict"
-var r=e(33),i=e(13)
-r(r.P+r.F*!e(105)([].reduceRight,!0),"Array",{reduceRight:function(e){return i(this,e,arguments.length,arguments[1],!0)}})},{105:105,13:13,33:33}],147:[function(e,t,n){"use strict"
-var r=e(33),i=e(13)
-r(r.P+r.F*!e(105)([].reduce,!0),"Array",{reduce:function(e){return i(this,e,arguments.length,arguments[1],!1)}})},{105:105,13:13,33:33}],148:[function(e,t,n){"use strict"
-var r=e(33),i=e(43),o=e(18),s=e(114),a=e(118),u=[].slice
-r(r.P+r.F*e(35)(function(){i&&u.call(i)}),"Array",{slice:function(e,t){var n=a(this.length),r=o(this)
-if(t=void 0===t?n:t,"Array"==r)return u.call(this,e,t)
-for(var i=s(e,n),c=s(t,n),l=a(c-i),h=Array(l),d=0;d<l;d++)h[d]="String"==r?this.charAt(i+d):this[i+d]
-return h}})},{114:114,118:118,18:18,33:33,35:35,43:43}],149:[function(e,t,n){"use strict"
-var r=e(33),i=e(12)(3)
-r(r.P+r.F*!e(105)([].some,!0),"Array",{some:function(e){return i(this,e,arguments[1])}})},{105:105,12:12,33:33}],150:[function(e,t,n){"use strict"
-var r=e(33),i=e(3),o=e(119),s=e(35),a=[].sort,u=[1,2,3]
-r(r.P+r.F*(s(function(){u.sort(void 0)})||!s(function(){u.sort(null)})||!e(105)(a)),"Array",{sort:function(e){return void 0===e?a.call(o(this)):a.call(o(this),i(e))}})},{105:105,119:119,3:3,33:33,35:35}],151:[function(e,t,n){e(100)("Array")},{100:100}],152:[function(e,t,n){var r=e(33)
-r(r.S,"Date",{now:function(){return(new Date).getTime()}})},{33:33}],153:[function(e,t,n){var r=e(33),i=e(26)
-r(r.P+r.F*(Date.prototype.toISOString!==i),"Date",{toISOString:i})},{26:26,33:33}],154:[function(e,t,n){"use strict"
-var r=e(33),i=e(119),o=e(120)
-r(r.P+r.F*e(35)(function(){return null!==new Date(NaN).toJSON()||1!==Date.prototype.toJSON.call({toISOString:function(){return 1}})}),"Date",{toJSON:function(e){var t=i(this),n=o(t)
-return"number"!=typeof n||isFinite(n)?t.toISOString():null}})},{119:119,120:120,33:33,35:35}],155:[function(e,t,n){var r=e(128)("toPrimitive"),i=Date.prototype
-r in i||e(42)(i,r,e(27))},{128:128,27:27,42:42}],156:[function(e,t,n){var r=Date.prototype,i=r.toString,o=r.getTime
-new Date(NaN)+""!="Invalid Date"&&e(94)(r,"toString",function(){var e=o.call(this)
-return e===e?i.call(this):"Invalid Date"})},{94:94}],157:[function(e,t,n){var r=e(33)
-r(r.P,"Function",{bind:e(16)})},{16:16,33:33}],158:[function(e,t,n){"use strict"
-var r=e(51),i=e(79),o=e(128)("hasInstance"),s=Function.prototype
-o in s||e(72).f(s,o,{value:function(e){if("function"!=typeof this||!r(e))return!1
-if(!r(this.prototype))return e instanceof this
-for(;e=i(e);)if(this.prototype===e)return!0
-return!1}})},{128:128,51:51,72:72,79:79}],159:[function(e,t,n){var r=e(72).f,i=Function.prototype,o=/^\s*function ([^ (]*)/
-"name"in i||e(29)&&r(i,"name",{configurable:!0,get:function(){try{return(""+this).match(o)[1]}catch(e){return""}}})},{29:29,72:72}],160:[function(e,t,n){"use strict"
-var r=e(19),i=e(125)
-t.exports=e(22)("Map",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{get:function(e){var t=r.getEntry(i(this,"Map"),e)
-return t&&t.v},set:function(e,t){return r.def(i(this,"Map"),0===e?0:e,t)}},r,!0)},{125:125,19:19,22:22}],161:[function(e,t,n){var r=e(33),i=e(63),o=Math.sqrt,s=Math.acosh
-r(r.S+r.F*!(s&&710==Math.floor(s(Number.MAX_VALUE))&&s(1/0)==1/0),"Math",{acosh:function(e){return(e=+e)<1?NaN:e>94906265.62425156?Math.log(e)+Math.LN2:i(e-1+o(e-1)*o(e+1))}})},{33:33,63:63}],162:[function(e,t,n){function r(e){return isFinite(e=+e)&&0!=e?e<0?-r(-e):Math.log(e+Math.sqrt(e*e+1)):e}var i=e(33),o=Math.asinh
-i(i.S+i.F*!(o&&1/o(0)>0),"Math",{asinh:r})},{33:33}],163:[function(e,t,n){var r=e(33),i=Math.atanh
-r(r.S+r.F*!(i&&1/i(-0)<0),"Math",{atanh:function(e){return 0==(e=+e)?e:Math.log((1+e)/(1-e))/2}})},{33:33}],164:[function(e,t,n){var r=e(33),i=e(65)
-r(r.S,"Math",{cbrt:function(e){return i(e=+e)*Math.pow(Math.abs(e),1/3)}})},{33:33,65:65}],165:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{clz32:function(e){return(e>>>=0)?31-Math.floor(Math.log(e+.5)*Math.LOG2E):32}})},{33:33}],166:[function(e,t,n){var r=e(33),i=Math.exp
-r(r.S,"Math",{cosh:function(e){return(i(e=+e)+i(-e))/2}})},{33:33}],167:[function(e,t,n){var r=e(33),i=e(61)
-r(r.S+r.F*(i!=Math.expm1),"Math",{expm1:i})},{33:33,61:61}],168:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{fround:e(62)})},{33:33,62:62}],169:[function(e,t,n){var r=e(33),i=Math.abs
-r(r.S,"Math",{hypot:function(e,t){for(var n,r,o=0,s=0,a=arguments.length,u=0;s<a;)n=i(arguments[s++]),u<n?(r=u/n,o=o*r*r+1,u=n):n>0?(r=n/u,o+=r*r):o+=n
-return u===1/0?1/0:u*Math.sqrt(o)}})},{33:33}],170:[function(e,t,n){var r=e(33),i=Math.imul
-r(r.S+r.F*e(35)(function(){return-5!=i(4294967295,5)||2!=i.length}),"Math",{imul:function(e,t){var n=+e,r=+t,i=65535&n,o=65535&r
-return 0|i*o+((65535&n>>>16)*o+i*(65535&r>>>16)<<16>>>0)}})},{33:33,35:35}],171:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{log10:function(e){return Math.log(e)*Math.LOG10E}})},{33:33}],172:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{log1p:e(63)})},{33:33,63:63}],173:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{log2:function(e){return Math.log(e)/Math.LN2}})},{33:33}],174:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{sign:e(65)})},{33:33,65:65}],175:[function(e,t,n){var r=e(33),i=e(61),o=Math.exp
-r(r.S+r.F*e(35)(function(){return-2e-17!=!Math.sinh(-2e-17)}),"Math",{sinh:function(e){return Math.abs(e=+e)<1?(i(e)-i(-e))/2:(o(e-1)-o(-e-1))*(Math.E/2)}})},{33:33,35:35,61:61}],176:[function(e,t,n){var r=e(33),i=e(61),o=Math.exp
-r(r.S,"Math",{tanh:function(e){var t=i(e=+e),n=i(-e)
-return t==1/0?1:n==1/0?-1:(t-n)/(o(e)+o(-e))}})},{33:33,61:61}],177:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{trunc:function(e){return(e>0?Math.floor:Math.ceil)(e)}})},{33:33}],178:[function(e,t,n){"use strict"
-var r=e(40),i=e(41),o=e(18),s=e(45),a=e(120),u=e(35),c=e(77).f,l=e(75).f,h=e(72).f,d=e(111).trim,p=r.Number,f=p,g=p.prototype,m="Number"==o(e(71)(g)),v="trim"in String.prototype,y=function(e){var t=a(e,!1)
-if("string"==typeof t&&t.length>2){t=v?t.trim():d(t,3)
-var n,r,i,o=t.charCodeAt(0)
-if(43===o||45===o){if(88===(n=t.charCodeAt(2))||120===n)return NaN}else if(48===o){switch(t.charCodeAt(1)){case 66:case 98:r=2,i=49
-break
-case 79:case 111:r=8,i=55
-break
-default:return+t}for(var s,u=t.slice(2),c=0,l=u.length;c<l;c++)if((s=u.charCodeAt(c))<48||s>i)return NaN
-return parseInt(u,r)}}return+t}
-if(!p(" 0o1")||!p("0b1")||p("+0x1")){p=function(e){var t=arguments.length<1?0:e,n=this
-return n instanceof p&&(m?u(function(){g.valueOf.call(n)}):"Number"!=o(n))?s(new f(y(t)),n,p):y(t)}
-for(var b,C=e(29)?c(f):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),A=0;C.length>A;A++)i(f,b=C[A])&&!i(p,b)&&h(p,b,l(f,b))
-p.prototype=g,g.constructor=p,e(94)(r,"Number",p)}},{111:111,120:120,18:18,29:29,35:35,40:40,41:41,45:45,71:71,72:72,75:75,77:77,94:94}],179:[function(e,t,n){var r=e(33)
-r(r.S,"Number",{EPSILON:Math.pow(2,-52)})},{33:33}],180:[function(e,t,n){var r=e(33),i=e(40).isFinite
-r(r.S,"Number",{isFinite:function(e){return"number"==typeof e&&i(e)}})},{33:33,40:40}],181:[function(e,t,n){var r=e(33)
-r(r.S,"Number",{isInteger:e(50)})},{33:33,50:50}],182:[function(e,t,n){var r=e(33)
-r(r.S,"Number",{isNaN:function(e){return e!=e}})},{33:33}],183:[function(e,t,n){var r=e(33),i=e(50),o=Math.abs
-r(r.S,"Number",{isSafeInteger:function(e){return i(e)&&o(e)<=9007199254740991}})},{33:33,50:50}],184:[function(e,t,n){var r=e(33)
-r(r.S,"Number",{MAX_SAFE_INTEGER:9007199254740991})},{33:33}],185:[function(e,t,n){var r=e(33)
-r(r.S,"Number",{MIN_SAFE_INTEGER:-9007199254740991})},{33:33}],186:[function(e,t,n){var r=e(33),i=e(86)
-r(r.S+r.F*(Number.parseFloat!=i),"Number",{parseFloat:i})},{33:33,86:86}],187:[function(e,t,n){var r=e(33),i=e(87)
-r(r.S+r.F*(Number.parseInt!=i),"Number",{parseInt:i})},{33:33,87:87}],188:[function(e,t,n){"use strict"
-var r=e(33),i=e(116),o=e(4),s=e(110),a=1..toFixed,u=Math.floor,c=[0,0,0,0,0,0],l="Number.toFixed: incorrect invocation!",h=function(e,t){for(var n=-1,r=t;++n<6;)r+=e*c[n],c[n]=r%1e7,r=u(r/1e7)},d=function(e){for(var t=6,n=0;--t>=0;)n+=c[t],c[t]=u(n/e),n=n%e*1e7},p=function(){for(var e=6,t="";--e>=0;)if(""!==t||0===e||0!==c[e]){var n=String(c[e])
-t=""===t?n:t+s.call("0",7-n.length)+n}return t},f=function(e,t,n){return 0===t?n:t%2==1?f(e,t-1,n*e):f(e*e,t/2,n)},g=function(e){for(var t=0,n=e;n>=4096;)t+=12,n/=4096
-for(;n>=2;)t+=1,n/=2
-return t}
-r(r.P+r.F*(!!a&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!e(35)(function(){a.call({})})),"Number",{toFixed:function(e){var t,n,r,a,u=o(this,l),c=i(e),m="",v="0"
-if(c<0||c>20)throw RangeError(l)
-if(u!=u)return"NaN"
-if(u<=-1e21||u>=1e21)return String(u)
-if(u<0&&(m="-",u=-u),u>1e-21)if(t=g(u*f(2,69,1))-69,n=t<0?u*f(2,-t,1):u/f(2,t,1),n*=4503599627370496,(t=52-t)>0){for(h(0,n),r=c;r>=7;)h(1e7,0),r-=7
-for(h(f(10,r,1),0),r=t-1;r>=23;)d(1<<23),r-=23
-d(1<<r),h(1,1),d(2),v=p()}else h(0,n),h(1<<-t,0),v=p()+s.call("0",c)
-return c>0?(a=v.length,v=m+(a<=c?"0."+s.call("0",c-a)+v:v.slice(0,a-c)+"."+v.slice(a-c))):v=m+v,v}})},{110:110,116:116,33:33,35:35,4:4}],189:[function(e,t,n){"use strict"
-var r=e(33),i=e(35),o=e(4),s=1..toPrecision
-r(r.P+r.F*(i(function(){return"1"!==s.call(1,void 0)})||!i(function(){s.call({})})),"Number",{toPrecision:function(e){var t=o(this,"Number#toPrecision: incorrect invocation!")
-return void 0===e?s.call(t):s.call(t,e)}})},{33:33,35:35,4:4}],190:[function(e,t,n){var r=e(33)
-r(r.S+r.F,"Object",{assign:e(70)})},{33:33,70:70}],191:[function(e,t,n){var r=e(33)
-r(r.S,"Object",{create:e(71)})},{33:33,71:71}],192:[function(e,t,n){var r=e(33)
-r(r.S+r.F*!e(29),"Object",{defineProperties:e(73)})},{29:29,33:33,73:73}],193:[function(e,t,n){var r=e(33)
-r(r.S+r.F*!e(29),"Object",{defineProperty:e(72).f})},{29:29,33:33,72:72}],194:[function(e,t,n){var r=e(51),i=e(66).onFreeze
-e(83)("freeze",function(e){return function(t){return e&&r(t)?e(i(t)):t}})},{51:51,66:66,83:83}],195:[function(e,t,n){var r=e(117),i=e(75).f
-e(83)("getOwnPropertyDescriptor",function(){return function(e,t){return i(r(e),t)}})},{117:117,75:75,83:83}],196:[function(e,t,n){e(83)("getOwnPropertyNames",function(){return e(76).f})},{76:76,83:83}],197:[function(e,t,n){var r=e(119),i=e(79)
-e(83)("getPrototypeOf",function(){return function(e){return i(r(e))}})},{119:119,79:79,83:83}],198:[function(e,t,n){var r=e(51)
-e(83)("isExtensible",function(e){return function(t){return!!r(t)&&(!e||e(t))}})},{51:51,83:83}],199:[function(e,t,n){var r=e(51)
-e(83)("isFrozen",function(e){return function(t){return!r(t)||!!e&&e(t)}})},{51:51,83:83}],200:[function(e,t,n){var r=e(51)
-e(83)("isSealed",function(e){return function(t){return!r(t)||!!e&&e(t)}})},{51:51,83:83}],201:[function(e,t,n){var r=e(33)
-r(r.S,"Object",{is:e(96)})},{33:33,96:96}],202:[function(e,t,n){var r=e(119),i=e(81)
-e(83)("keys",function(){return function(e){return i(r(e))}})},{119:119,81:81,83:83}],203:[function(e,t,n){var r=e(51),i=e(66).onFreeze
-e(83)("preventExtensions",function(e){return function(t){return e&&r(t)?e(i(t)):t}})},{51:51,66:66,83:83}],204:[function(e,t,n){var r=e(51),i=e(66).onFreeze
-e(83)("seal",function(e){return function(t){return e&&r(t)?e(i(t)):t}})},{51:51,66:66,83:83}],205:[function(e,t,n){var r=e(33)
-r(r.S,"Object",{setPrototypeOf:e(99).set})},{33:33,99:99}],206:[function(e,t,n){"use strict"
-var r=e(17),i={}
-i[e(128)("toStringTag")]="z",i+""!="[object z]"&&e(94)(Object.prototype,"toString",function(){return"[object "+r(this)+"]"},!0)},{128:128,17:17,94:94}],207:[function(e,t,n){var r=e(33),i=e(86)
-r(r.G+r.F*(parseFloat!=i),{parseFloat:i})},{33:33,86:86}],208:[function(e,t,n){var r=e(33),i=e(87)
-r(r.G+r.F*(parseInt!=i),{parseInt:i})},{33:33,87:87}],209:[function(e,t,n){"use strict"
-var r,i,o,s,a=e(60),u=e(40),c=e(25),l=e(17),h=e(33),d=e(51),p=e(3),f=e(6),g=e(39),m=e(104),v=e(113).set,y=e(68)(),b=e(69),C=e(90),A=e(91),_=u.TypeError,I=u.process,w=u.Promise,x="process"==l(I),k=function(){},j=i=b.f,E=!!function(){try{var t=w.resolve(1),n=(t.constructor={})[e(128)("species")]=function(e){e(k,k)}
-return(x||"function"==typeof PromiseRejectionEvent)&&t.then(k)instanceof n}catch(e){}}(),S=a?function(e,t){return e===t||e===w&&t===s}:function(e,t){return e===t},T=function(e){var t
-return!(!d(e)||"function"!=typeof(t=e.then))&&t},P=function(e,t){if(!e._n){e._n=!0
-var n=e._c
-y(function(){for(var r=e._v,i=1==e._s,o=0;n.length>o;)(function(t){var n,o,s=i?t.ok:t.fail,a=t.resolve,u=t.reject,c=t.domain
-try{s?(i||(2==e._h&&N(e),e._h=1),!0===s?n=r:(c&&c.enter(),n=s(r),c&&c.exit()),n===t.promise?u(_("Promise-chain cycle")):(o=T(n))?o.call(n,a,u):a(n)):u(r)}catch(e){u(e)}})(n[o++])
-e._c=[],e._n=!1,t&&!e._h&&O(e)})}},O=function(e){v.call(u,function(){var t,n,r,i=e._v,o=R(e)
-if(o&&(t=C(function(){x?I.emit("unhandledRejection",i,e):(n=u.onunhandledrejection)?n({promise:e,reason:i}):(r=u.console)&&r.error&&r.error("Unhandled promise rejection",i)}),e._h=x||R(e)?2:1),e._a=void 0,o&&t.e)throw t.v})},R=function(e){if(1==e._h)return!1
-for(var t,n=e._a||e._c,r=0;n.length>r;)if(t=n[r++],t.fail||!R(t.promise))return!1
-return!0},N=function(e){v.call(u,function(){var t
-x?I.emit("rejectionHandled",e):(t=u.onrejectionhandled)&&t({promise:e,reason:e._v})})},M=function(e){var t=this
-t._d||(t._d=!0,t=t._w||t,t._v=e,t._s=2,t._a||(t._a=t._c.slice()),P(t,!0))},L=function(e){var t,n=this
-if(!n._d){n._d=!0,n=n._w||n
-try{if(n===e)throw _("Promise can't be resolved itself");(t=T(e))?y(function(){var r={_w:n,_d:!1}
-try{t.call(e,c(L,r,1),c(M,r,1))}catch(e){M.call(r,e)}}):(n._v=e,n._s=1,P(n,!1))}catch(e){M.call({_w:n,_d:!1},e)}}}
-E||(w=function(e){f(this,w,"Promise","_h"),p(e),r.call(this)
-try{e(c(L,this,1),c(M,this,1))}catch(e){M.call(this,e)}},r=function(e){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1},r.prototype=e(93)(w.prototype,{then:function(e,t){var n=j(m(this,w))
-return n.ok="function"!=typeof e||e,n.fail="function"==typeof t&&t,n.domain=x?I.domain:void 0,this._c.push(n),this._a&&this._a.push(n),this._s&&P(this,!1),n.promise},catch:function(e){return this.then(void 0,e)}}),o=function(){var e=new r
-this.promise=e,this.resolve=c(L,e,1),this.reject=c(M,e,1)},b.f=j=function(e){return S(w,e)?new o(e):i(e)}),h(h.G+h.W+h.F*!E,{Promise:w}),e(101)(w,"Promise"),e(100)("Promise"),s=e(23).Promise,h(h.S+h.F*!E,"Promise",{reject:function(e){var t=j(this)
-return(0,t.reject)(e),t.promise}}),h(h.S+h.F*(a||!E),"Promise",{resolve:function(e){return e instanceof w&&S(e.constructor,this)?e:A(this,e)}}),h(h.S+h.F*!(E&&e(56)(function(e){w.all(e).catch(k)})),"Promise",{all:function(e){var t=this,n=j(t),r=n.resolve,i=n.reject,o=C(function(){var n=[],o=0,s=1
-g(e,!1,function(e){var a=o++,u=!1
-n.push(void 0),s++,t.resolve(e).then(function(e){u||(u=!0,n[a]=e,--s||r(n))},i)}),--s||r(n)})
-return o.e&&i(o.v),n.promise},race:function(e){var t=this,n=j(t),r=n.reject,i=C(function(){g(e,!1,function(e){t.resolve(e).then(n.resolve,r)})})
-return i.e&&r(i.v),n.promise}})},{100:100,101:101,104:104,113:113,128:128,17:17,23:23,25:25,3:3,33:33,39:39,40:40,51:51,56:56,6:6,60:60,68:68,69:69,90:90,91:91,93:93}],210:[function(e,t,n){var r=e(33),i=e(3),o=e(7),s=(e(40).Reflect||{}).apply,a=Function.apply
-r(r.S+r.F*!e(35)(function(){s(function(){})}),"Reflect",{apply:function(e,t,n){var r=i(e),u=o(n)
-return s?s(r,t,u):a.call(r,t,u)}})},{3:3,33:33,35:35,40:40,7:7}],211:[function(e,t,n){var r=e(33),i=e(71),o=e(3),s=e(7),a=e(51),u=e(35),c=e(16),l=(e(40).Reflect||{}).construct,h=u(function(){function e(){}return!(l(function(){},[],e)instanceof e)}),d=!u(function(){l(function(){})})
-r(r.S+r.F*(h||d),"Reflect",{construct:function(e,t){o(e),s(t)
-var n=arguments.length<3?e:o(arguments[2])
-if(d&&!h)return l(e,t,n)
-if(e==n){switch(t.length){case 0:return new e
-case 1:return new e(t[0])
-case 2:return new e(t[0],t[1])
-case 3:return new e(t[0],t[1],t[2])
-case 4:return new e(t[0],t[1],t[2],t[3])}var r=[null]
-return r.push.apply(r,t),new(c.apply(e,r))}var u=n.prototype,p=i(a(u)?u:Object.prototype),f=Function.apply.call(e,p,t)
-return a(f)?f:p}})},{16:16,3:3,33:33,35:35,40:40,51:51,7:7,71:71}],212:[function(e,t,n){var r=e(72),i=e(33),o=e(7),s=e(120)
-i(i.S+i.F*e(35)(function(){Reflect.defineProperty(r.f({},1,{value:1}),1,{value:2})}),"Reflect",{defineProperty:function(e,t,n){o(e),t=s(t,!0),o(n)
-try{return r.f(e,t,n),!0}catch(e){return!1}}})},{120:120,33:33,35:35,7:7,72:72}],213:[function(e,t,n){var r=e(33),i=e(75).f,o=e(7)
-r(r.S,"Reflect",{deleteProperty:function(e,t){var n=i(o(e),t)
-return!(n&&!n.configurable)&&delete e[t]}})},{33:33,7:7,75:75}],214:[function(e,t,n){"use strict"
-var r=e(33),i=e(7),o=function(e){this._t=i(e),this._i=0
-var t,n=this._k=[]
-for(t in e)n.push(t)}
-e(54)(o,"Object",function(){var e,t=this,n=t._k
-do{if(t._i>=n.length)return{value:void 0,done:!0}}while(!((e=n[t._i++])in t._t))
-return{value:e,done:!1}}),r(r.S,"Reflect",{enumerate:function(e){return new o(e)}})},{33:33,54:54,7:7}],215:[function(e,t,n){var r=e(75),i=e(33),o=e(7)
-i(i.S,"Reflect",{getOwnPropertyDescriptor:function(e,t){return r.f(o(e),t)}})},{33:33,7:7,75:75}],216:[function(e,t,n){var r=e(33),i=e(79),o=e(7)
-r(r.S,"Reflect",{getPrototypeOf:function(e){return i(o(e))}})},{33:33,7:7,79:79}],217:[function(e,t,n){function r(e,t){var n,a,l=arguments.length<3?e:arguments[2]
-return c(e)===l?e[t]:(n=i.f(e,t))?s(n,"value")?n.value:void 0!==n.get?n.get.call(l):void 0:u(a=o(e))?r(a,t,l):void 0}var i=e(75),o=e(79),s=e(41),a=e(33),u=e(51),c=e(7)
-a(a.S,"Reflect",{get:r})},{33:33,41:41,51:51,7:7,75:75,79:79}],218:[function(e,t,n){var r=e(33)
-r(r.S,"Reflect",{has:function(e,t){return t in e}})},{33:33}],219:[function(e,t,n){var r=e(33),i=e(7),o=Object.isExtensible
-r(r.S,"Reflect",{isExtensible:function(e){return i(e),!o||o(e)}})},{33:33,7:7}],220:[function(e,t,n){var r=e(33)
-r(r.S,"Reflect",{ownKeys:e(85)})},{33:33,85:85}],221:[function(e,t,n){var r=e(33),i=e(7),o=Object.preventExtensions
-r(r.S,"Reflect",{preventExtensions:function(e){i(e)
-try{return o&&o(e),!0}catch(e){return!1}}})},{33:33,7:7}],222:[function(e,t,n){var r=e(33),i=e(99)
-i&&r(r.S,"Reflect",{setPrototypeOf:function(e,t){i.check(e,t)
-try{return i.set(e,t),!0}catch(e){return!1}}})},{33:33,99:99}],223:[function(e,t,n){function r(e,t,n){var u,d,p=arguments.length<4?e:arguments[3],f=o.f(l(e),t)
-if(!f){if(h(d=s(e)))return r(d,t,n,p)
-f=c(0)}return a(f,"value")?!(!1===f.writable||!h(p))&&(u=o.f(p,t)||c(0),u.value=n,i.f(p,t,u),!0):void 0!==f.set&&(f.set.call(p,n),!0)}var i=e(72),o=e(75),s=e(79),a=e(41),u=e(33),c=e(92),l=e(7),h=e(51)
-u(u.S,"Reflect",{set:r})},{33:33,41:41,51:51,7:7,72:72,75:75,79:79,92:92}],224:[function(e,t,n){var r=e(40),i=e(45),o=e(72).f,s=e(77).f,a=e(52),u=e(37),c=r.RegExp,l=c,h=c.prototype,d=/a/g,p=/a/g,f=new c(d)!==d
-if(e(29)&&(!f||e(35)(function(){return p[e(128)("match")]=!1,c(d)!=d||c(p)==p||"/a/i"!=c(d,"i")}))){c=function(e,t){var n=this instanceof c,r=a(e),o=void 0===t
-return!n&&r&&e.constructor===c&&o?e:i(f?new l(r&&!o?e.source:e,t):l((r=e instanceof c)?e.source:e,r&&o?u.call(e):t),n?this:h,c)}
-for(var g=s(l),m=0;g.length>m;)(function(e){e in c||o(c,e,{configurable:!0,get:function(){return l[e]},set:function(t){l[e]=t}})})(g[m++])
-h.constructor=c,c.prototype=h,e(94)(r,"RegExp",c)}e(100)("RegExp")},{100:100,128:128,29:29,35:35,37:37,40:40,45:45,52:52,72:72,77:77,94:94}],225:[function(e,t,n){e(29)&&"g"!=/./g.flags&&e(72).f(RegExp.prototype,"flags",{configurable:!0,get:e(37)})},{29:29,37:37,72:72}],226:[function(e,t,n){e(36)("match",1,function(e,t,n){return[function(n){"use strict"
-var r=e(this),i=void 0==n?void 0:n[t]
-return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},n]})},{36:36}],227:[function(e,t,n){e(36)("replace",2,function(e,t,n){return[function(r,i){"use strict"
-var o=e(this),s=void 0==r?void 0:r[t]
-return void 0!==s?s.call(r,o,i):n.call(String(o),r,i)},n]})},{36:36}],228:[function(e,t,n){e(36)("search",1,function(e,t,n){return[function(n){"use strict"
-var r=e(this),i=void 0==n?void 0:n[t]
-return void 0!==i?i.call(n,r):new RegExp(n)[t](String(r))},n]})},{36:36}],229:[function(e,t,n){e(36)("split",2,function(t,n,r){"use strict"
-var i=e(52),o=r,s=[].push,a="length"
-if("c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1)[a]||2!="ab".split(/(?:ab)*/)[a]||4!=".".split(/(.?)(.?)/)[a]||".".split(/()()/)[a]>1||"".split(/.?/)[a]){var u=void 0===/()??/.exec("")[1]
-r=function(e,t){var n=String(this)
-if(void 0===e&&0===t)return[]
-if(!i(e))return o.call(n,e,t)
-var r,c,l,h,d,p=[],f=(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.unicode?"u":"")+(e.sticky?"y":""),g=0,m=void 0===t?4294967295:t>>>0,v=new RegExp(e.source,f+"g")
-for(u||(r=new RegExp("^"+v.source+"$(?!\\s)",f));(c=v.exec(n))&&!((l=c.index+c[0][a])>g&&(p.push(n.slice(g,c.index)),!u&&c[a]>1&&c[0].replace(r,function(){for(d=1;d<arguments[a]-2;d++)void 0===arguments[d]&&(c[d]=void 0)}),c[a]>1&&c.index<n[a]&&s.apply(p,c.slice(1)),h=c[0][a],g=l,p[a]>=m));)v.lastIndex===c.index&&v.lastIndex++
-return g===n[a]?!h&&v.test("")||p.push(""):p.push(n.slice(g)),p[a]>m?p.slice(0,m):p}}else"0".split(void 0,0)[a]&&(r=function(e,t){return void 0===e&&0===t?[]:o.call(this,e,t)})
-return[function(e,i){var o=t(this),s=void 0==e?void 0:e[n]
-return void 0!==s?s.call(e,o,i):r.call(String(o),e,i)},r]})},{36:36,52:52}],230:[function(e,t,n){"use strict"
-e(225)
-var r=e(7),i=e(37),o=e(29),s=/./.toString,a=function(t){e(94)(RegExp.prototype,"toString",t,!0)}
-e(35)(function(){return"/a/b"!=s.call({source:"a",flags:"b"})})?a(function(){var e=r(this)
-return"/".concat(e.source,"/","flags"in e?e.flags:!o&&e instanceof RegExp?i.call(e):void 0)}):"toString"!=s.name&&a(function(){return s.call(this)})},{225:225,29:29,35:35,37:37,7:7,94:94}],231:[function(e,t,n){"use strict"
-var r=e(19),i=e(125)
-t.exports=e(22)("Set",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,"Set"),e=0===e?0:e,e)}},r)},{125:125,19:19,22:22}],232:[function(e,t,n){"use strict"
-e(108)("anchor",function(e){return function(t){return e(this,"a","name",t)}})},{108:108}],233:[function(e,t,n){"use strict"
-e(108)("big",function(e){return function(){return e(this,"big","","")}})},{108:108}],234:[function(e,t,n){"use strict"
-e(108)("blink",function(e){return function(){return e(this,"blink","","")}})},{108:108}],235:[function(e,t,n){"use strict"
-e(108)("bold",function(e){return function(){return e(this,"b","","")}})},{108:108}],236:[function(e,t,n){"use strict"
-var r=e(33),i=e(106)(!1)
-r(r.P,"String",{codePointAt:function(e){return i(this,e)}})},{106:106,33:33}],237:[function(e,t,n){"use strict"
-var r=e(33),i=e(118),o=e(107),s="".endsWith
-r(r.P+r.F*e(34)("endsWith"),"String",{endsWith:function(e){var t=o(this,e,"endsWith"),n=arguments.length>1?arguments[1]:void 0,r=i(t.length),a=void 0===n?r:Math.min(i(n),r),u=String(e)
-return s?s.call(t,u,a):t.slice(a-u.length,a)===u}})},{107:107,118:118,33:33,34:34}],238:[function(e,t,n){"use strict"
-e(108)("fixed",function(e){return function(){return e(this,"tt","","")}})},{108:108}],239:[function(e,t,n){"use strict"
-e(108)("fontcolor",function(e){return function(t){return e(this,"font","color",t)}})},{108:108}],240:[function(e,t,n){"use strict"
-e(108)("fontsize",function(e){return function(t){return e(this,"font","size",t)}})},{108:108}],241:[function(e,t,n){var r=e(33),i=e(114),o=String.fromCharCode,s=String.fromCodePoint
-r(r.S+r.F*(!!s&&1!=s.length),"String",{fromCodePoint:function(e){for(var t,n=[],r=arguments.length,s=0;r>s;){if(t=+arguments[s++],i(t,1114111)!==t)throw RangeError(t+" is not a valid code point")
-n.push(t<65536?o(t):o(55296+((t-=65536)>>10),t%1024+56320))}return n.join("")}})},{114:114,33:33}],242:[function(e,t,n){"use strict"
-var r=e(33),i=e(107)
-r(r.P+r.F*e(34)("includes"),"String",{includes:function(e){return!!~i(this,e,"includes").indexOf(e,arguments.length>1?arguments[1]:void 0)}})},{107:107,33:33,34:34}],243:[function(e,t,n){"use strict"
-e(108)("italics",function(e){return function(){return e(this,"i","","")}})},{108:108}],244:[function(e,t,n){"use strict"
-var r=e(106)(!0)
-e(55)(String,"String",function(e){this._t=String(e),this._i=0},function(){var e,t=this._t,n=this._i
-return n>=t.length?{value:void 0,done:!0}:(e=r(t,n),this._i+=e.length,{value:e,done:!1})})},{106:106,55:55}],245:[function(e,t,n){"use strict"
-e(108)("link",function(e){return function(t){return e(this,"a","href",t)}})},{108:108}],246:[function(e,t,n){var r=e(33),i=e(117),o=e(118)
-r(r.S,"String",{raw:function(e){for(var t=i(e.raw),n=o(t.length),r=arguments.length,s=[],a=0;n>a;)s.push(String(t[a++])),a<r&&s.push(String(arguments[a]))
-return s.join("")}})},{117:117,118:118,33:33}],247:[function(e,t,n){var r=e(33)
-r(r.P,"String",{repeat:e(110)})},{110:110,33:33}],248:[function(e,t,n){"use strict"
-e(108)("small",function(e){return function(){return e(this,"small","","")}})},{108:108}],249:[function(e,t,n){"use strict"
-var r=e(33),i=e(118),o=e(107),s="".startsWith
-r(r.P+r.F*e(34)("startsWith"),"String",{startsWith:function(e){var t=o(this,e,"startsWith"),n=i(Math.min(arguments.length>1?arguments[1]:void 0,t.length)),r=String(e)
-return s?s.call(t,r,n):t.slice(n,n+r.length)===r}})},{107:107,118:118,33:33,34:34}],250:[function(e,t,n){"use strict"
-e(108)("strike",function(e){return function(){return e(this,"strike","","")}})},{108:108}],251:[function(e,t,n){"use strict"
-e(108)("sub",function(e){return function(){return e(this,"sub","","")}})},{108:108}],252:[function(e,t,n){"use strict"
-e(108)("sup",function(e){return function(){return e(this,"sup","","")}})},{108:108}],253:[function(e,t,n){"use strict"
-e(111)("trim",function(e){return function(){return e(this,3)}})},{111:111}],254:[function(e,t,n){"use strict"
-var r=e(40),i=e(41),o=e(29),s=e(33),a=e(94),u=e(66).KEY,c=e(35),l=e(103),h=e(101),d=e(124),p=e(128),f=e(127),g=e(126),m=e(59),v=e(32),y=e(49),b=e(7),C=e(117),A=e(120),_=e(92),I=e(71),w=e(76),x=e(75),k=e(72),j=e(81),E=x.f,S=k.f,T=w.f,P=r.Symbol,O=r.JSON,R=O&&O.stringify,N=p("_hidden"),M=p("toPrimitive"),L={}.propertyIsEnumerable,D=l("symbol-registry"),z=l("symbols"),F=l("op-symbols"),B=Object.prototype,H="function"==typeof P,U=r.QObject,q=!U||!U.prototype||!U.prototype.findChild,V=o&&c(function(){return 7!=I(S({},"a",{get:function(){return S(this,"a",{value:7}).a}})).a})?function(e,t,n){var r=E(B,t)
-r&&delete B[t],S(e,t,n),r&&e!==B&&S(B,t,r)}:S,W=function(e){var t=z[e]=I(P.prototype)
-return t._k=e,t},G=H&&"symbol"==typeof P.iterator?function(e){return"symbol"==typeof e}:function(e){return e instanceof P},Y=function(e,t,n){return e===B&&Y(F,t,n),b(e),t=A(t,!0),b(n),i(z,t)?(n.enumerable?(i(e,N)&&e[N][t]&&(e[N][t]=!1),n=I(n,{enumerable:_(0,!1)})):(i(e,N)||S(e,N,_(1,{})),e[N][t]=!0),V(e,t,n)):S(e,t,n)},K=function(e,t){b(e)
-for(var n,r=v(t=C(t)),i=0,o=r.length;o>i;)Y(e,n=r[i++],t[n])
-return e},Q=function(e,t){return void 0===t?I(e):K(I(e),t)},Z=function(e){var t=L.call(this,e=A(e,!0))
-return!(this===B&&i(z,e)&&!i(F,e))&&(!(t||!i(this,e)||!i(z,e)||i(this,N)&&this[N][e])||t)},X=function(e,t){if(e=C(e),t=A(t,!0),e!==B||!i(z,t)||i(F,t)){var n=E(e,t)
-return!n||!i(z,t)||i(e,N)&&e[N][t]||(n.enumerable=!0),n}},J=function(e){for(var t,n=T(C(e)),r=[],o=0;n.length>o;)i(z,t=n[o++])||t==N||t==u||r.push(t)
-return r},$=function(e){for(var t,n=e===B,r=T(n?F:C(e)),o=[],s=0;r.length>s;)!i(z,t=r[s++])||n&&!i(B,t)||o.push(z[t])
-return o}
-H||(P=function(){if(this instanceof P)throw TypeError("Symbol is not a constructor!")
-var e=d(arguments.length>0?arguments[0]:void 0),t=function(n){this===B&&t.call(F,n),i(this,N)&&i(this[N],e)&&(this[N][e]=!1),V(this,e,_(1,n))}
-return o&&q&&V(B,e,{configurable:!0,set:t}),W(e)},a(P.prototype,"toString",function(){return this._k}),x.f=X,k.f=Y,e(77).f=w.f=J,e(82).f=Z,e(78).f=$,o&&!e(60)&&a(B,"propertyIsEnumerable",Z,!0),f.f=function(e){return W(p(e))}),s(s.G+s.W+s.F*!H,{Symbol:P})
-for(var ee="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),te=0;ee.length>te;)p(ee[te++])
-for(var ne=j(p.store),re=0;ne.length>re;)g(ne[re++])
-s(s.S+s.F*!H,"Symbol",{for:function(e){return i(D,e+="")?D[e]:D[e]=P(e)},keyFor:function(e){if(G(e))return m(D,e)
-throw TypeError(e+" is not a symbol!")},useSetter:function(){q=!0},useSimple:function(){q=!1}}),s(s.S+s.F*!H,"Object",{create:Q,defineProperty:Y,defineProperties:K,getOwnPropertyDescriptor:X,getOwnPropertyNames:J,getOwnPropertySymbols:$}),O&&s(s.S+s.F*(!H||c(function(){var e=P()
-return"[null]"!=R([e])||"{}"!=R({a:e})||"{}"!=R(Object(e))})),"JSON",{stringify:function(e){if(void 0!==e&&!G(e)){for(var t,n,r=[e],i=1;arguments.length>i;)r.push(arguments[i++])
-return t=r[1],"function"==typeof t&&(n=t),!n&&y(t)||(t=function(e,t){if(n&&(t=n.call(this,e,t)),!G(t))return t}),r[1]=t,R.apply(O,r)}}}),P.prototype[M]||e(42)(P.prototype,M,P.prototype.valueOf),h(P,"Symbol"),h(Math,"Math",!0),h(r.JSON,"JSON",!0)},{101:101,103:103,117:117,120:120,124:124,126:126,127:127,128:128,29:29,32:32,33:33,35:35,40:40,41:41,42:42,49:49,59:59,60:60,66:66,7:7,71:71,72:72,75:75,76:76,77:77,78:78,81:81,82:82,92:92,94:94}],255:[function(e,t,n){"use strict"
-var r=e(33),i=e(123),o=e(122),s=e(7),a=e(114),u=e(118),c=e(51),l=e(40).ArrayBuffer,h=e(104),d=o.ArrayBuffer,p=o.DataView,f=i.ABV&&l.isView,g=d.prototype.slice,m=i.VIEW
-r(r.G+r.W+r.F*(l!==d),{ArrayBuffer:d}),r(r.S+r.F*!i.CONSTR,"ArrayBuffer",{isView:function(e){return f&&f(e)||c(e)&&m in e}}),r(r.P+r.U+r.F*e(35)(function(){return!new d(2).slice(1,void 0).byteLength}),"ArrayBuffer",{slice:function(e,t){if(void 0!==g&&void 0===t)return g.call(s(this),e)
-for(var n=s(this).byteLength,r=a(e,n),i=a(void 0===t?n:t,n),o=new(h(this,d))(u(i-r)),c=new p(this),l=new p(o),f=0;r<i;)l.setUint8(f++,c.getUint8(r++))
-return o}}),e(100)("ArrayBuffer")},{100:100,104:104,114:114,118:118,122:122,123:123,33:33,35:35,40:40,51:51,7:7}],256:[function(e,t,n){var r=e(33)
-r(r.G+r.W+r.F*!e(123).ABV,{DataView:e(122).DataView})},{122:122,123:123,33:33}],257:[function(e,t,n){e(121)("Float32",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},{121:121}],258:[function(e,t,n){e(121)("Float64",8,function(e){return function(t,n,r){return e(this,t,n,r)}})},{121:121}],259:[function(e,t,n){e(121)("Int16",2,function(e){return function(t,n,r){return e(this,t,n,r)}})},{121:121}],260:[function(e,t,n){e(121)("Int32",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},{121:121}],261:[function(e,t,n){e(121)("Int8",1,function(e){return function(t,n,r){return e(this,t,n,r)}})},{121:121}],262:[function(e,t,n){e(121)("Uint16",2,function(e){return function(t,n,r){return e(this,t,n,r)}})},{121:121}],263:[function(e,t,n){e(121)("Uint32",4,function(e){return function(t,n,r){return e(this,t,n,r)}})},{121:121}],264:[function(e,t,n){e(121)("Uint8",1,function(e){return function(t,n,r){return e(this,t,n,r)}})},{121:121}],265:[function(e,t,n){e(121)("Uint8",1,function(e){return function(t,n,r){return e(this,t,n,r)}},!0)},{121:121}],266:[function(e,t,n){"use strict"
-var r,i=e(12)(0),o=e(94),s=e(66),a=e(70),u=e(21),c=e(51),l=e(35),h=e(125),d=s.getWeak,p=Object.isExtensible,f=u.ufstore,g={},m=function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},v={get:function(e){if(c(e)){var t=d(e)
-return!0===t?f(h(this,"WeakMap")).get(e):t?t[this._i]:void 0}},set:function(e,t){return u.def(h(this,"WeakMap"),e,t)}},y=t.exports=e(22)("WeakMap",m,v,u,!0,!0)
-l(function(){return 7!=(new y).set((Object.freeze||Object)(g),7).get(g)})&&(r=u.getConstructor(m,"WeakMap"),a(r.prototype,v),s.NEED=!0,i(["delete","has","get","set"],function(e){var t=y.prototype,n=t[e]
-o(t,e,function(t,i){if(c(t)&&!p(t)){this._f||(this._f=new r)
-var o=this._f[e](t,i)
-return"set"==e?this:o}return n.call(this,t,i)})}))},{12:12,125:125,21:21,22:22,35:35,51:51,66:66,70:70,94:94}],267:[function(e,t,n){"use strict"
-var r=e(21),i=e(125)
-e(22)("WeakSet",function(e){return function(){return e(this,arguments.length>0?arguments[0]:void 0)}},{add:function(e){return r.def(i(this,"WeakSet"),e,!0)}},r,!1,!0)},{125:125,21:21,22:22}],268:[function(e,t,n){"use strict"
-var r=e(33),i=e(38),o=e(119),s=e(118),a=e(3),u=e(15)
-r(r.P,"Array",{flatMap:function(e){var t,n,r=o(this)
-return a(e),t=s(r.length),n=u(r,0),i(n,r,r,t,0,1,e,arguments[1]),n}}),e(5)("flatMap")},{118:118,119:119,15:15,3:3,33:33,38:38,5:5}],269:[function(e,t,n){"use strict"
-var r=e(33),i=e(38),o=e(119),s=e(118),a=e(116),u=e(15)
-r(r.P,"Array",{flatten:function(){var e=arguments[0],t=o(this),n=s(t.length),r=u(t,0)
-return i(r,t,t,n,0,void 0===e?1:a(e)),r}}),e(5)("flatten")},{116:116,118:118,119:119,15:15,33:33,38:38,5:5}],270:[function(e,t,n){"use strict"
-var r=e(33),i=e(11)(!0)
-r(r.P,"Array",{includes:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0)}}),e(5)("includes")},{11:11,33:33,5:5}],271:[function(e,t,n){var r=e(33),i=e(68)(),o=e(40).process,s="process"==e(18)(o)
-r(r.G,{asap:function(e){var t=s&&o.domain
-i(t?t.bind(e):e)}})},{18:18,33:33,40:40,68:68}],272:[function(e,t,n){var r=e(33),i=e(18)
-r(r.S,"Error",{isError:function(e){return"Error"===i(e)}})},{18:18,33:33}],273:[function(e,t,n){var r=e(33)
-r(r.G,{global:e(40)})},{33:33,40:40}],274:[function(e,t,n){e(97)("Map")},{97:97}],275:[function(e,t,n){e(98)("Map")},{98:98}],276:[function(e,t,n){var r=e(33)
-r(r.P+r.R,"Map",{toJSON:e(20)("Map")})},{20:20,33:33}],277:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{clamp:function(e,t,n){return Math.min(n,Math.max(t,e))}})},{33:33}],278:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{DEG_PER_RAD:Math.PI/180})},{33:33}],279:[function(e,t,n){var r=e(33),i=180/Math.PI
-r(r.S,"Math",{degrees:function(e){return e*i}})},{33:33}],280:[function(e,t,n){var r=e(33),i=e(64),o=e(62)
-r(r.S,"Math",{fscale:function(e,t,n,r,s){return o(i(e,t,n,r,s))}})},{33:33,62:62,64:64}],281:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{iaddh:function(e,t,n,r){var i=e>>>0,o=t>>>0,s=n>>>0
-return o+(r>>>0)+((i&s|(i|s)&~(i+s>>>0))>>>31)|0}})},{33:33}],282:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{imulh:function(e,t){var n=+e,r=+t,i=65535&n,o=65535&r,s=n>>16,a=r>>16,u=(s*o>>>0)+(i*o>>>16)
-return s*a+(u>>16)+((i*a>>>0)+(65535&u)>>16)}})},{33:33}],283:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{isubh:function(e,t,n,r){var i=e>>>0,o=t>>>0,s=n>>>0
-return o-(r>>>0)-((~i&s|~(i^s)&i-s>>>0)>>>31)|0}})},{33:33}],284:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{RAD_PER_DEG:180/Math.PI})},{33:33}],285:[function(e,t,n){var r=e(33),i=Math.PI/180
-r(r.S,"Math",{radians:function(e){return e*i}})},{33:33}],286:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{scale:e(64)})},{33:33,64:64}],287:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{signbit:function(e){return(e=+e)!=e?e:0==e?1/e==1/0:e>0}})},{33:33}],288:[function(e,t,n){var r=e(33)
-r(r.S,"Math",{umulh:function(e,t){var n=+e,r=+t,i=65535&n,o=65535&r,s=n>>>16,a=r>>>16,u=(s*o>>>0)+(i*o>>>16)
-return s*a+(u>>>16)+((i*a>>>0)+(65535&u)>>>16)}})},{33:33}],289:[function(e,t,n){"use strict"
-var r=e(33),i=e(119),o=e(3),s=e(72)
-e(29)&&r(r.P+e(74),"Object",{__defineGetter__:function(e,t){s.f(i(this),e,{get:o(t),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],290:[function(e,t,n){"use strict"
-var r=e(33),i=e(119),o=e(3),s=e(72)
-e(29)&&r(r.P+e(74),"Object",{__defineSetter__:function(e,t){s.f(i(this),e,{set:o(t),enumerable:!0,configurable:!0})}})},{119:119,29:29,3:3,33:33,72:72,74:74}],291:[function(e,t,n){var r=e(33),i=e(84)(!0)
-r(r.S,"Object",{entries:function(e){return i(e)}})},{33:33,84:84}],292:[function(e,t,n){var r=e(33),i=e(85),o=e(117),s=e(75),a=e(24)
-r(r.S,"Object",{getOwnPropertyDescriptors:function(e){for(var t,n,r=o(e),u=s.f,c=i(r),l={},h=0;c.length>h;)void 0!==(n=u(r,t=c[h++]))&&a(l,t,n)
-return l}})},{117:117,24:24,33:33,75:75,85:85}],293:[function(e,t,n){"use strict"
-var r=e(33),i=e(119),o=e(120),s=e(79),a=e(75).f
-e(29)&&r(r.P+e(74),"Object",{__lookupGetter__:function(e){var t,n=i(this),r=o(e,!0)
-do{if(t=a(n,r))return t.get}while(n=s(n))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],294:[function(e,t,n){"use strict"
-var r=e(33),i=e(119),o=e(120),s=e(79),a=e(75).f
-e(29)&&r(r.P+e(74),"Object",{__lookupSetter__:function(e){var t,n=i(this),r=o(e,!0)
-do{if(t=a(n,r))return t.set}while(n=s(n))}})},{119:119,120:120,29:29,33:33,74:74,75:75,79:79}],295:[function(e,t,n){var r=e(33),i=e(84)(!1)
-r(r.S,"Object",{values:function(e){return i(e)}})},{33:33,84:84}],296:[function(e,t,n){"use strict"
-var r=e(33),i=e(40),o=e(23),s=e(68)(),a=e(128)("observable"),u=e(3),c=e(7),l=e(6),h=e(93),d=e(42),p=e(39),f=p.RETURN,g=function(e){return null==e?void 0:u(e)},m=function(e){var t=e._c
-t&&(e._c=void 0,t())},v=function(e){return void 0===e._o},y=function(e){v(e)||(e._o=void 0,m(e))},b=function(e,t){c(e),this._c=void 0,this._o=e,e=new C(this)
-try{var n=t(e),r=n
-null!=n&&("function"==typeof n.unsubscribe?n=function(){r.unsubscribe()}:u(n),this._c=n)}catch(t){return void e.error(t)}v(this)&&m(this)}
-b.prototype=h({},{unsubscribe:function(){y(this)}})
-var C=function(e){this._s=e}
-C.prototype=h({},{next:function(e){var t=this._s
-if(!v(t)){var n=t._o
-try{var r=g(n.next)
-if(r)return r.call(n,e)}catch(e){try{y(t)}finally{throw e}}}},error:function(e){var t=this._s
-if(v(t))throw e
-var n=t._o
-t._o=void 0
-try{var r=g(n.error)
-if(!r)throw e
-e=r.call(n,e)}catch(e){try{m(t)}finally{throw e}}return m(t),e},complete:function(e){var t=this._s
-if(!v(t)){var n=t._o
-t._o=void 0
-try{var r=g(n.complete)
-e=r?r.call(n,e):void 0}catch(e){try{m(t)}finally{throw e}}return m(t),e}}})
-var A=function(e){l(this,A,"Observable","_f")._f=u(e)}
-h(A.prototype,{subscribe:function(e){return new b(e,this._f)},forEach:function(e){var t=this
-return new(o.Promise||i.Promise)(function(n,r){u(e)
-var i=t.subscribe({next:function(t){try{return e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:n})})}}),h(A,{from:function(e){var t="function"==typeof this?this:A,n=g(c(e)[a])
-if(n){var r=c(n.call(e))
-return r.constructor===t?r:new t(function(e){return r.subscribe(e)})}return new t(function(t){var n=!1
-return s(function(){if(!n){try{if(p(e,!1,function(e){if(t.next(e),n)return f})===f)return}catch(e){if(n)throw e
-return void t.error(e)}t.complete()}}),function(){n=!0}})},of:function(){for(var e=0,t=arguments.length,n=Array(t);e<t;)n[e]=arguments[e++]
-return new("function"==typeof this?this:A)(function(e){var t=!1
-return s(function(){if(!t){for(var r=0;r<n.length;++r)if(e.next(n[r]),t)return
-e.complete()}}),function(){t=!0}})}}),d(A.prototype,a,function(){return this}),r(r.G,{Observable:A}),e(100)("Observable")},{100:100,128:128,23:23,3:3,33:33,39:39,40:40,42:42,6:6,68:68,7:7,93:93}],297:[function(e,t,n){"use strict"
-var r=e(33),i=e(23),o=e(40),s=e(104),a=e(91)
-r(r.P+r.R,"Promise",{finally:function(e){var t=s(this,i.Promise||o.Promise),n="function"==typeof e
-return this.then(n?function(n){return a(t,e()).then(function(){return n})}:e,n?function(n){return a(t,e()).then(function(){throw n})}:e)}})},{104:104,23:23,33:33,40:40,91:91}],298:[function(e,t,n){"use strict"
-var r=e(33),i=e(69),o=e(90)
-r(r.S,"Promise",{try:function(e){var t=i.f(this),n=o(e)
-return(n.e?t.reject:t.resolve)(n.v),t.promise}})},{33:33,69:69,90:90}],299:[function(e,t,n){var r=e(67),i=e(7),o=r.key,s=r.set
-r.exp({defineMetadata:function(e,t,n,r){s(e,t,i(n),o(r))}})},{67:67,7:7}],300:[function(e,t,n){var r=e(67),i=e(7),o=r.key,s=r.map,a=r.store
-r.exp({deleteMetadata:function(e,t){var n=arguments.length<3?void 0:o(arguments[2]),r=s(i(t),n,!1)
-if(void 0===r||!r.delete(e))return!1
-if(r.size)return!0
-var u=a.get(t)
-return u.delete(n),!!u.size||a.delete(t)}})},{67:67,7:7}],301:[function(e,t,n){var r=e(231),i=e(10),o=e(67),s=e(7),a=e(79),u=o.keys,c=o.key,l=function(e,t){var n=u(e,t),o=a(e)
-if(null===o)return n
-var s=l(o,t)
-return s.length?n.length?i(new r(n.concat(s))):s:n}
-o.exp({getMetadataKeys:function(e){return l(s(e),arguments.length<2?void 0:c(arguments[1]))}})},{10:10,231:231,67:67,7:7,79:79}],302:[function(e,t,n){var r=e(67),i=e(7),o=e(79),s=r.has,a=r.get,u=r.key,c=function(e,t,n){if(s(e,t,n))return a(e,t,n)
-var r=o(t)
-return null!==r?c(e,r,n):void 0}
-r.exp({getMetadata:function(e,t){return c(e,i(t),arguments.length<3?void 0:u(arguments[2]))}})},{67:67,7:7,79:79}],303:[function(e,t,n){var r=e(67),i=e(7),o=r.keys,s=r.key
-r.exp({getOwnMetadataKeys:function(e){return o(i(e),arguments.length<2?void 0:s(arguments[1]))}})},{67:67,7:7}],304:[function(e,t,n){var r=e(67),i=e(7),o=r.get,s=r.key
-r.exp({getOwnMetadata:function(e,t){return o(e,i(t),arguments.length<3?void 0:s(arguments[2]))}})},{67:67,7:7}],305:[function(e,t,n){var r=e(67),i=e(7),o=e(79),s=r.has,a=r.key,u=function(e,t,n){if(s(e,t,n))return!0
-var r=o(t)
-return null!==r&&u(e,r,n)}
-r.exp({hasMetadata:function(e,t){return u(e,i(t),arguments.length<3?void 0:a(arguments[2]))}})},{67:67,7:7,79:79}],306:[function(e,t,n){var r=e(67),i=e(7),o=r.has,s=r.key
-r.exp({hasOwnMetadata:function(e,t){return o(e,i(t),arguments.length<3?void 0:s(arguments[2]))}})},{67:67,7:7}],307:[function(e,t,n){var r=e(67),i=e(7),o=e(3),s=r.key,a=r.set
-r.exp({metadata:function(e,t){return function(n,r){a(e,t,(void 0!==r?i:o)(n),s(r))}}})},{3:3,67:67,7:7}],308:[function(e,t,n){e(97)("Set")},{97:97}],309:[function(e,t,n){e(98)("Set")},{98:98}],310:[function(e,t,n){var r=e(33)
-r(r.P+r.R,"Set",{toJSON:e(20)("Set")})},{20:20,33:33}],311:[function(e,t,n){"use strict"
-var r=e(33),i=e(106)(!0)
-r(r.P,"String",{at:function(e){return i(this,e)}})},{106:106,33:33}],312:[function(e,t,n){"use strict"
-var r=e(33),i=e(28),o=e(118),s=e(52),a=e(37),u=RegExp.prototype,c=function(e,t){this._r=e,this._s=t}
-e(54)(c,"RegExp String",function(){var e=this._r.exec(this._s)
-return{value:e,done:null===e}}),r(r.P,"String",{matchAll:function(e){if(i(this),!s(e))throw TypeError(e+" is not a regexp!")
-var t=String(this),n="flags"in u?String(e.flags):a.call(e),r=new RegExp(e.source,~n.indexOf("g")?n:"g"+n)
-return r.lastIndex=o(e.lastIndex),new c(r,t)}})},{118:118,28:28,33:33,37:37,52:52,54:54}],313:[function(e,t,n){"use strict"
-var r=e(33),i=e(109)
-r(r.P,"String",{padEnd:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!1)}})},{109:109,33:33}],314:[function(e,t,n){"use strict"
-var r=e(33),i=e(109)
-r(r.P,"String",{padStart:function(e){return i(this,e,arguments.length>1?arguments[1]:void 0,!0)}})},{109:109,33:33}],315:[function(e,t,n){"use strict"
-e(111)("trimLeft",function(e){return function(){return e(this,1)}},"trimStart")},{111:111}],316:[function(e,t,n){"use strict"
-e(111)("trimRight",function(e){return function(){return e(this,2)}},"trimEnd")},{111:111}],317:[function(e,t,n){e(126)("asyncIterator")},{126:126}],318:[function(e,t,n){e(126)("observable")},{126:126}],319:[function(e,t,n){var r=e(33)
-r(r.S,"System",{global:e(40)})},{33:33,40:40}],320:[function(e,t,n){e(97)("WeakMap")},{97:97}],321:[function(e,t,n){e(98)("WeakMap")},{98:98}],322:[function(e,t,n){e(97)("WeakSet")},{97:97}],323:[function(e,t,n){e(98)("WeakSet")},{98:98}],324:[function(e,t,n){for(var r=e(141),i=e(81),o=e(94),s=e(40),a=e(42),u=e(58),c=e(128),l=c("iterator"),h=c("toStringTag"),d=u.Array,p={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},f=i(p),g=0;g<f.length;g++){var m,v=f[g],y=p[v],b=s[v],C=b&&b.prototype
-if(C&&(C[l]||a(C,l,d),C[h]||a(C,h,v),u[v]=d,y))for(m in r)C[m]||o(C,m,r[m],!0)}},{128:128,141:141,40:40,42:42,58:58,81:81,94:94}],325:[function(e,t,n){var r=e(33),i=e(113)
-r(r.G+r.B,{setImmediate:i.set,clearImmediate:i.clear})},{113:113,33:33}],326:[function(e,t,n){var r=e(40),i=e(33),o=e(46),s=e(88),a=r.navigator,u=!!a&&/MSIE .\./.test(a.userAgent),c=function(e){return u?function(t,n){return e(o(s,[].slice.call(arguments,2),"function"==typeof t?t:Function(t)),n)}:e}
-i(i.G+i.B+i.F*u,{setTimeout:c(r.setTimeout),setInterval:c(r.setInterval)})},{33:33,40:40,46:46,88:88}],327:[function(e,t,n){e(254),e(191),e(193),e(192),e(195),e(197),e(202),e(196),e(194),e(204),e(203),e(199),e(200),e(198),e(190),e(201),e(205),e(206),e(157),e(159),e(158),e(208),e(207),e(178),e(188),e(189),e(179),e(180),e(181),e(182)
-e(183),e(184),e(185),e(186),e(187),e(161),e(162),e(163),e(164),e(165),e(166),e(167),e(168),e(169),e(170),e(171),e(172),e(173),e(174),e(175),e(176),e(177),e(241),e(246),e(253),e(244),e(236),e(237),e(242),e(247)
-e(249),e(232),e(233),e(234),e(235),e(238),e(239),e(240),e(243),e(245),e(248),e(250),e(251),e(252),e(152),e(154),e(153),e(156),e(155),e(140),e(138),e(145),e(142),e(148),e(150),e(137),e(144),e(134),e(149),e(132)
-e(147),e(146),e(139),e(143),e(131),e(133),e(136),e(135),e(151),e(141),e(224),e(230),e(225),e(226),e(227),e(228),e(229),e(209),e(160),e(231),e(266),e(267),e(255),e(256),e(261),e(264),e(265),e(259),e(262),e(260)
-e(263),e(257),e(258),e(210),e(211),e(212),e(213),e(214),e(217),e(215),e(216),e(218),e(219),e(220),e(221),e(223),e(222),e(270),e(268),e(269),e(311),e(314),e(313),e(315),e(316),e(312),e(317),e(318),e(292),e(295)
-e(291),e(289),e(290),e(293),e(294),e(276),e(310),e(275),e(309),e(321),e(323),e(274),e(308),e(320),e(322),e(273),e(319),e(272),e(277),e(278),e(279),e(280),e(281),e(283),e(282),e(284),e(285),e(286),e(288),e(287)
-e(297),e(298),e(299),e(300),e(302),e(301),e(304),e(303),e(305),e(306),e(307),e(271),e(296),e(326),e(325),e(324),t.exports=e(23)},{131:131,132:132,133:133,134:134,135:135,136:136,137:137,138:138,139:139,140:140,141:141,142:142,143:143,144:144,145:145,146:146,147:147,148:148,149:149,150:150,151:151,152:152,153:153,154:154,155:155,156:156,157:157,158:158,159:159,160:160,161:161,162:162,163:163,164:164,165:165,166:166,167:167,168:168,169:169,170:170,171:171,172:172,173:173,174:174,175:175,176:176,177:177,178:178,179:179,180:180,181:181,182:182,183:183,184:184,185:185,186:186,187:187,188:188,189:189,190:190,191:191,192:192,193:193,194:194,195:195,196:196,197:197,198:198,199:199,200:200,201:201,202:202,203:203,204:204,205:205,206:206,207:207,208:208,209:209,210:210,211:211,212:212,213:213,214:214,215:215,216:216,217:217,218:218,219:219,220:220,221:221,222:222,223:223,224:224,225:225,226:226,227:227,228:228,229:229,23:23,230:230,231:231,232:232,233:233,234:234,235:235,236:236,237:237,238:238,239:239,240:240,241:241,242:242,243:243,244:244,245:245,246:246,247:247,248:248,249:249,250:250,251:251,252:252,253:253,254:254,255:255,256:256,257:257,258:258,259:259,260:260,261:261,262:262,263:263,264:264,265:265,266:266,267:267,268:268,269:269,270:270,271:271,272:272,273:273,274:274,275:275,276:276,277:277,278:278,279:279,280:280,281:281,282:282,283:283,284:284,285:285,286:286,287:287,288:288,289:289,290:290,291:291,292:292,293:293,294:294,295:295,296:296,297:297,298:298,299:299,300:300,301:301,302:302,303:303,304:304,305:305,306:306,307:307,308:308,309:309,310:310,311:311,312:312,313:313,314:314,315:315,316:316,317:317,318:318,319:319,320:320,321:321,322:322,323:323,324:324,325:325,326:326}],328:[function(e,t,n){(function(e){!function(e){"use strict"
-function n(e,t,n,r){var o=t&&t.prototype instanceof i?t:i,s=Object.create(o.prototype),a=new p(r||[])
-return s._invoke=c(e,n,a),s}function r(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}function i(){}function o(){}function s(){}function a(e){["next","throw","return"].forEach(function(t){e[t]=function(e){return this._invoke(t,e)}})}function u(t){function n(e,i,o,s){var a=r(t[e],t,i)
-if("throw"!==a.type){var u=a.arg,c=u.value
-return c&&"object"==typeof c&&y.call(c,"__await")?Promise.resolve(c.__await).then(function(e){n("next",e,o,s)},function(e){n("throw",e,o,s)}):Promise.resolve(c).then(function(e){u.value=e,o(u)},s)}s(a.arg)}function i(e,t){function r(){return new Promise(function(r,i){n(e,t,r,i)})}return o=o?o.then(r,r):r()}"object"==typeof e.process&&e.process.domain&&(n=e.process.domain.bind(n))
-var o
-this._invoke=i}function c(e,t,n){var i=x
-return function(o,s){if(i===j)throw new Error("Generator is already running")
-if(i===E){if("throw"===o)throw s
-return g()}for(n.method=o,n.arg=s;;){var a=n.delegate
-if(a){var u=l(a,n)
-if(u){if(u===S)continue
-return u}}if("next"===n.method)n.sent=n._sent=n.arg
-else if("throw"===n.method){if(i===x)throw i=E,n.arg
-n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg)
-i=j
-var c=r(e,t,n)
-if("normal"===c.type){if(i=n.done?E:k,c.arg===S)continue
-return{value:c.arg,done:n.done}}"throw"===c.type&&(i=E,n.method="throw",n.arg=c.arg)}}}function l(e,t){var n=e.iterator[t.method]
-if(n===m){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=m,l(e,t),"throw"===t.method))return S
-t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return S}var i=r(n,e.iterator,t.arg)
-if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,S
-var o=i.arg
-return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=m),t.delegate=null,S):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,S)}function h(e){var t={tryLoc:e[0]}
-1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function d(e){var t=e.completion||{}
-t.type="normal",delete t.arg,e.completion=t}function p(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(h,this),this.reset(!0)}function f(e){if(e){var t=e[C]
-if(t)return t.call(e)
-if("function"==typeof e.next)return e
-if(!isNaN(e.length)){var n=-1,r=function t(){for(;++n<e.length;)if(y.call(e,n))return t.value=e[n],t.done=!1,t
-return t.value=m,t.done=!0,t}
-return r.next=r}}return{next:g}}function g(){return{value:m,done:!0}}var m,v=Object.prototype,y=v.hasOwnProperty,b="function"==typeof Symbol?Symbol:{},C=b.iterator||"@@iterator",A=b.asyncIterator||"@@asyncIterator",_=b.toStringTag||"@@toStringTag",I="object"==typeof t,w=e.regeneratorRuntime
-if(w)return void(I&&(t.exports=w))
-w=e.regeneratorRuntime=I?t.exports:{},w.wrap=n
-var x="suspendedStart",k="suspendedYield",j="executing",E="completed",S={},T={}
-T[C]=function(){return this}
-var P=Object.getPrototypeOf,O=P&&P(P(f([])))
-O&&O!==v&&y.call(O,C)&&(T=O)
-var R=s.prototype=i.prototype=Object.create(T)
-o.prototype=R.constructor=s,s.constructor=o,s[_]=o.displayName="GeneratorFunction",w.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor
-return!!t&&(t===o||"GeneratorFunction"===(t.displayName||t.name))},w.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,s):(e.__proto__=s,_ in e||(e[_]="GeneratorFunction")),e.prototype=Object.create(R),e},w.awrap=function(e){return{__await:e}},a(u.prototype),u.prototype[A]=function(){return this},w.AsyncIterator=u,w.async=function(e,t,r,i){var o=new u(n(e,t,r,i))
-return w.isGeneratorFunction(t)?o:o.next().then(function(e){return e.done?e.value:o.next()})},a(R),R[_]="Generator",R[C]=function(){return this},R.toString=function(){return"[object Generator]"},w.keys=function(e){var t=[]
-for(var n in e)t.push(n)
-return t.reverse(),function n(){for(;t.length;){var r=t.pop()
-if(r in e)return n.value=r,n.done=!1,n}return n.done=!0,n}},w.values=f,p.prototype={constructor:p,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=m,this.done=!1,this.delegate=null,this.method="next",this.arg=m,this.tryEntries.forEach(d),!e)for(var t in this)"t"===t.charAt(0)&&y.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=m)},stop:function(){this.done=!0
-var e=this.tryEntries[0],t=e.completion
-if("throw"===t.type)throw t.arg
-return this.rval},dispatchException:function(e){function t(t,r){return o.type="throw",o.arg=e,n.next=t,r&&(n.method="next",n.arg=m),!!r}if(this.done)throw e
-for(var n=this,r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r],o=i.completion
-if("root"===i.tryLoc)return t("end")
-if(i.tryLoc<=this.prev){var s=y.call(i,"catchLoc"),a=y.call(i,"finallyLoc")
-if(s&&a){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)
-if(this.prev<i.finallyLoc)return t(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return t(i.catchLoc,!0)}else{if(!a)throw new Error("try statement without catch or finally")
-if(this.prev<i.finallyLoc)return t(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var r=this.tryEntries[n]
-if(r.tryLoc<=this.prev&&y.call(r,"finallyLoc")&&this.prev<r.finallyLoc){var i=r
-break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null)
-var o=i?i.completion:{}
-return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,S):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg
-return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),S},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t]
-if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),d(n),S}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t]
-if(n.tryLoc===e){var r=n.completion
-if("throw"===r.type){var i=r.arg
-d(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:f(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=m),S}}}("object"==typeof e?e:"object"==typeof window?window:"object"==typeof self?self:this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[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(e,t){"use strict"
-function n(e,t,n){t=t||se
-var r,i=t.createElement("script")
-if(i.text=e,n)for(r in Ce)n[r]&&(i[r]=n[r])
-t.head.appendChild(i).parentNode.removeChild(i)}function r(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?de[pe.call(e)]||"object":typeof e}function i(e){var t=!!e&&"length"in e&&e.length,n=r(e)
-return!ye(e)&&!be(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function o(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function s(e,t,n){return ye(t)?Ae.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?Ae.grep(e,function(e){return e===t!==n}):"string"!=typeof t?Ae.grep(e,function(e){return he.call(t,e)>-1!==n}):Ae.filter(t,e,n)}function a(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function u(e){var t={}
-return Ae.each(e.match(Oe)||[],function(e,n){t[n]=!0}),t}function c(e){return e}function l(e){throw e}function h(e,t,n,r){var i
-try{e&&ye(i=e.promise)?i.call(e).done(t).fail(n):e&&ye(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}function d(){se.removeEventListener("DOMContentLoaded",d),e.removeEventListener("load",d),Ae.ready()}function p(e,t){return t.toUpperCase()}function f(e){return e.replace(Le,"ms-").replace(De,p)}function g(){this.expando=Ae.expando+g.uid++}function m(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:He.test(e)?JSON.parse(e):e)}function v(e,t,n){var r
-if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Ue,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=m(n)}catch(e){}Be.set(e,t,n)}else n=void 0
-return n}function y(e,t,n,r){var i,o,s=20,a=r?function(){return r.cur()}:function(){return Ae.css(e,t,"")},u=a(),c=n&&n[3]||(Ae.cssNumber[t]?"":"px"),l=(Ae.cssNumber[t]||"px"!==c&&+u)&&Ve.exec(Ae.css(e,t))
-if(l&&l[3]!==c){for(u/=2,c=c||l[3],l=+u||1;s--;)Ae.style(e,t,l+c),(1-o)*(1-(o=a()/u||.5))<=0&&(s=0),l/=o
-l*=2,Ae.style(e,t,l+c),n=n||[]}return n&&(l=+l||+u||0,i=n[1]?l+(n[1]+1)*n[2]:+n[2],r&&(r.unit=c,r.start=l,r.end=i)),i}function b(e){var t,n=e.ownerDocument,r=e.nodeName,i=Ke[r]
-return i||(t=n.body.appendChild(n.createElement(r)),i=Ae.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Ke[r]=i,i)}function C(e,t){for(var n,r,i=[],o=0,s=e.length;o<s;o++)r=e[o],r.style&&(n=r.style.display,t?("none"===n&&(i[o]=Fe.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&Ge(r)&&(i[o]=b(r))):"none"!==n&&(i[o]="none",Fe.set(r,"display",n)))
-for(o=0;o<s;o++)null!=i[o]&&(e[o].style.display=i[o])
-return e}function A(e,t){var n
-return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&o(e,t)?Ae.merge([e],n):n}function _(e,t){for(var n=0,r=e.length;n<r;n++)Fe.set(e[n],"globalEval",!t||Fe.get(t[n],"globalEval"))}function I(e,t,n,i,o){for(var s,a,u,c,l,h,d=t.createDocumentFragment(),p=[],f=0,g=e.length;f<g;f++)if((s=e[f])||0===s)if("object"===r(s))Ae.merge(p,s.nodeType?[s]:s)
-else if($e.test(s)){for(a=a||d.appendChild(t.createElement("div")),u=(Ze.exec(s)||["",""])[1].toLowerCase(),c=Je[u]||Je._default,a.innerHTML=c[1]+Ae.htmlPrefilter(s)+c[2],h=c[0];h--;)a=a.lastChild
-Ae.merge(p,a.childNodes),a=d.firstChild,a.textContent=""}else p.push(t.createTextNode(s))
-for(d.textContent="",f=0;s=p[f++];)if(i&&Ae.inArray(s,i)>-1)o&&o.push(s)
-else if(l=Ae.contains(s.ownerDocument,s),a=A(d.appendChild(s),"script"),l&&_(a),n)for(h=0;s=a[h++];)Xe.test(s.type||"")&&n.push(s)
-return d}function w(){return!0}function x(){return!1}function k(){try{return se.activeElement}catch(e){}}function j(e,t,n,r,i,o){var s,a
-if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0)
-for(a in t)j(e,a,n,r,t[a],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=x
-else if(!i)return e
-return 1===o&&(s=i,i=function(e){return Ae().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=Ae.guid++)),e.each(function(){Ae.event.add(this,t,i,r,n)})}function E(e,t){return o(e,"table")&&o(11!==t.nodeType?t:t.firstChild,"tr")?Ae(e).children("tbody")[0]||e:e}function S(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function T(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function P(e,t){var n,r,i,o,s,a,u,c
-if(1===t.nodeType){if(Fe.hasData(e)&&(o=Fe.access(e),s=Fe.set(t,o),c=o.events)){delete s.handle,s.events={}
-for(i in c)for(n=0,r=c[i].length;n<r;n++)Ae.event.add(t,i,c[i][n])}Be.hasData(e)&&(a=Be.access(e),u=Ae.extend({},a),Be.set(t,u))}}function O(e,t){var n=t.nodeName.toLowerCase()
-"input"===n&&Qe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function R(e,t,r,i){t=ce.apply([],t)
-var o,s,a,u,c,l,h=0,d=e.length,p=d-1,f=t[0],g=ye(f)
-if(g||d>1&&"string"==typeof f&&!ve.checkClone&&st.test(f))return e.each(function(n){var o=e.eq(n)
-g&&(t[0]=f.call(this,n,o.html())),R(o,t,r,i)})
-if(d&&(o=I(t,e[0].ownerDocument,!1,e,i),s=o.firstChild,1===o.childNodes.length&&(o=s),s||i)){for(a=Ae.map(A(o,"script"),S),u=a.length;h<d;h++)c=o,h!==p&&(c=Ae.clone(c,!0,!0),u&&Ae.merge(a,A(c,"script"))),r.call(e[h],c,h)
-if(u)for(l=a[a.length-1].ownerDocument,Ae.map(a,T),h=0;h<u;h++)c=a[h],Xe.test(c.type||"")&&!Fe.access(c,"globalEval")&&Ae.contains(l,c)&&(c.src&&"module"!==(c.type||"").toLowerCase()?Ae._evalUrl&&Ae._evalUrl(c.src):n(c.textContent.replace(at,""),l,c))}return e}function N(e,t,n){for(var r,i=t?Ae.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||Ae.cleanData(A(r)),r.parentNode&&(n&&Ae.contains(r.ownerDocument,r)&&_(A(r,"script")),r.parentNode.removeChild(r))
-return e}function M(e,t,n){var r,i,o,s,a=e.style
-return n=n||ct(e),n&&(s=n.getPropertyValue(t)||n[t],""!==s||Ae.contains(e.ownerDocument,e)||(s=Ae.style(e,t)),!ve.pixelBoxStyles()&&ut.test(s)&&lt.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o)),void 0!==s?s+"":s}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function D(e){if(e in mt)return e
-for(var t=e[0].toUpperCase()+e.slice(1),n=gt.length;n--;)if((e=gt[n]+t)in mt)return e}function z(e){var t=Ae.cssProps[e]
-return t||(t=Ae.cssProps[e]=D(e)||e),t}function F(e,t,n){var r=Ve.exec(t)
-return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function B(e,t,n,r,i,o){var s="width"===t?1:0,a=0,u=0
-if(n===(r?"border":"content"))return 0
-for(;s<4;s+=2)"margin"===n&&(u+=Ae.css(e,n+We[s],!0,i)),r?("content"===n&&(u-=Ae.css(e,"padding"+We[s],!0,i)),"margin"!==n&&(u-=Ae.css(e,"border"+We[s]+"Width",!0,i))):(u+=Ae.css(e,"padding"+We[s],!0,i),"padding"!==n?u+=Ae.css(e,"border"+We[s]+"Width",!0,i):a+=Ae.css(e,"border"+We[s]+"Width",!0,i))
-return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-a-.5))),u}function H(e,t,n){var r=ct(e),i=M(e,t,r),o="border-box"===Ae.css(e,"boxSizing",!1,r),s=o
-if(ut.test(i)){if(!n)return i
-i="auto"}return s=s&&(ve.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===Ae.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],s=!0),(i=parseFloat(i)||0)+B(e,t,n||(o?"border":"content"),s,r,i)+"px"}function U(e,t,n,r,i){return new U.prototype.init(e,t,n,r,i)}function q(){yt&&(!1===se.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(q):e.setTimeout(q,Ae.fx.interval),Ae.fx.tick())}function V(){return e.setTimeout(function(){vt=void 0}),vt=Date.now()}function W(e,t){var n,r=0,i={height:e}
-for(t=t?1:0;r<4;r+=2-t)n=We[r],i["margin"+n]=i["padding"+n]=e
-return t&&(i.opacity=i.width=e),i}function G(e,t,n){for(var r,i=(Q.tweeners[t]||[]).concat(Q.tweeners["*"]),o=0,s=i.length;o<s;o++)if(r=i[o].call(n,t,e))return r}function Y(e,t,n){var r,i,o,s,a,u,c,l,h="width"in t||"height"in t,d=this,p={},f=e.style,g=e.nodeType&&Ge(e),m=Fe.get(e,"fxshow")
-n.queue||(s=Ae._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,a=s.empty.fire,s.empty.fire=function(){s.unqueued||a()}),s.unqueued++,d.always(function(){d.always(function(){s.unqueued--,Ae.queue(e,"fx").length||s.empty.fire()})}))
-for(r in t)if(i=t[r],bt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!m||void 0===m[r])continue
-g=!0}p[r]=m&&m[r]||Ae.style(e,r)}if((u=!Ae.isEmptyObject(t))||!Ae.isEmptyObject(p)){h&&1===e.nodeType&&(n.overflow=[f.overflow,f.overflowX,f.overflowY],c=m&&m.display,null==c&&(c=Fe.get(e,"display")),l=Ae.css(e,"display"),"none"===l&&(c?l=c:(C([e],!0),c=e.style.display||c,l=Ae.css(e,"display"),C([e]))),("inline"===l||"inline-block"===l&&null!=c)&&"none"===Ae.css(e,"float")&&(u||(d.done(function(){f.display=c}),null==c&&(l=f.display,c="none"===l?"":l)),f.display="inline-block")),n.overflow&&(f.overflow="hidden",d.always(function(){f.overflow=n.overflow[0],f.overflowX=n.overflow[1],f.overflowY=n.overflow[2]})),u=!1
-for(r in p)u||(m?"hidden"in m&&(g=m.hidden):m=Fe.access(e,"fxshow",{display:c}),o&&(m.hidden=!g),g&&C([e],!0),d.done(function(){g||C([e]),Fe.remove(e,"fxshow")
-for(r in p)Ae.style(e,r,p[r])})),u=G(g?m[r]:0,r,d),r in m||(m[r]=u.start,g&&(u.end=u.start,u.start=0))}}function K(e,t){var n,r,i,o,s
-for(n in e)if(r=f(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(s=Ae.cssHooks[r])&&"expand"in s){o=s.expand(o),delete e[r]
-for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function Q(e,t,n){var r,i,o=0,s=Q.prefilters.length,a=Ae.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1
-for(var t=vt||V(),n=Math.max(0,c.startTime+c.duration-t),r=n/c.duration||0,o=1-r,s=0,u=c.tweens.length;s<u;s++)c.tweens[s].run(o)
-return a.notifyWith(e,[c,o,n]),o<1&&u?n:(u||a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:Ae.extend({},t),opts:Ae.extend(!0,{specialEasing:{},easing:Ae.easing._default},n),originalProperties:t,originalOptions:n,startTime:vt||V(),duration:n.duration,tweens:[],createTween:function(t,n){var r=Ae.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing)
-return c.tweens.push(r),r},stop:function(t){var n=0,r=t?c.tweens.length:0
-if(i)return this
-for(i=!0;n<r;n++)c.tweens[n].run(1)
-return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),l=c.props
-for(K(l,c.opts.specialEasing);o<s;o++)if(r=Q.prefilters[o].call(c,e,l,c.opts))return ye(r.stop)&&(Ae._queueHooks(c.elem,c.opts.queue).stop=r.stop.bind(r)),r
-return Ae.map(l,G,c),ye(c.opts.start)&&c.opts.start.call(e,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),Ae.fx.timer(Ae.extend(u,{elem:e,anim:c,queue:c.opts.queue})),c}function Z(e){return(e.match(Oe)||[]).join(" ")}function X(e){return e.getAttribute&&e.getAttribute("class")||""}function J(e){return Array.isArray(e)?e:"string"==typeof e?e.match(Oe)||[]:[]}function $(e,t,n,i){var o
-if(Array.isArray(t))Ae.each(t,function(t,r){n||Pt.test(e)?i(e,r):$(e+"["+("object"==typeof r&&null!=r?t:"")+"]",r,n,i)})
-else if(n||"object"!==r(t))i(e,t)
-else for(o in t)$(e+"["+o+"]",t[o],n,i)}function ee(e){return function(t,n){"string"!=typeof t&&(n=t,t="*")
-var r,i=0,o=t.toLowerCase().match(Oe)||[]
-if(ye(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function te(e,t,n,r){function i(a){var u
-return o[a]=!0,Ae.each(e[a]||[],function(e,a){var c=a(t,n,r)
-return"string"!=typeof c||s||o[c]?s?!(u=c):void 0:(t.dataTypes.unshift(c),i(c),!1)}),u}var o={},s=e===qt
-return i(t.dataTypes[0])||!o["*"]&&i("*")}function ne(e,t){var n,r,i=Ae.ajaxSettings.flatOptions||{}
-for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n])
-return r&&Ae.extend(!0,e,r),e}function re(e,t,n){for(var r,i,o,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"))
-if(r)for(i in a)if(a[i]&&a[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}s||(s=i)}o=o||s}if(o)return o!==u[0]&&u.unshift(o),n[o]}function ie(e,t,n,r){var i,o,s,a,u,c={},l=e.dataTypes.slice()
-if(l[1])for(s in e.converters)c[s.toLowerCase()]=e.converters[s]
-for(o=l.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=l.shift())if("*"===o)o=u
-else if("*"!==u&&u!==o){if(!(s=c[u+" "+o]||c["* "+o]))for(i in c)if(a=i.split(" "),a[1]===o&&(s=c[u+" "+a[0]]||c["* "+a[0]])){!0===s?s=c[i]:!0!==c[i]&&(o=a[0],l.unshift(a[1]))
-break}if(!0!==s)if(s&&e.throws)t=s(t)
-else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}var oe=[],se=e.document,ae=Object.getPrototypeOf,ue=oe.slice,ce=oe.concat,le=oe.push,he=oe.indexOf,de={},pe=de.toString,fe=de.hasOwnProperty,ge=fe.toString,me=ge.call(Object),ve={},ye=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},be=function(e){return null!=e&&e===e.window},Ce={type:!0,src:!0,noModule:!0},Ae=function(e,t){return new Ae.fn.init(e,t)},_e=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g
-Ae.fn=Ae.prototype={jquery:"3.3.1",constructor:Ae,length:0,toArray:function(){return ue.call(this)},get:function(e){return null==e?ue.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=Ae.merge(this.constructor(),e)
-return t.prevObject=this,t},each:function(e){return Ae.each(this,e)},map:function(e){return this.pushStack(Ae.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(ue.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(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:le,sort:oe.sort,splice:oe.splice},Ae.extend=Ae.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,c=!1
-for("boolean"==typeof s&&(c=s,s=arguments[a]||{},a++),"object"==typeof s||ye(s)||(s={}),a===u&&(s=this,a--);a<u;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],r=e[t],s!==r&&(c&&r&&(Ae.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&Ae.isPlainObject(n)?n:{},s[t]=Ae.extend(c,o,r)):void 0!==r&&(s[t]=r))
-return s},Ae.extend({expando:"jQuery"+("3.3.1"+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]"!==pe.call(e))&&(!(t=ae(e))||"function"==typeof(n=fe.call(t,"constructor")&&t.constructor)&&ge.call(n)===me)},isEmptyObject:function(e){var t
-for(t in e)return!1
-return!0},globalEval:function(e){n(e)},each:function(e,t){var n,r=0
-if(i(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(_e,"")},makeArray:function(e,t){var n=t||[]
-return null!=e&&(i(Object(e))?Ae.merge(n,"string"==typeof e?[e]:e):le.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:he.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,s=!n;i<o;i++)!t(e[i],i)!==s&&r.push(e[i])
-return r},map:function(e,t,n){var r,o,s=0,a=[]
-if(i(e))for(r=e.length;s<r;s++)null!=(o=t(e[s],s,n))&&a.push(o)
-else for(s in e)null!=(o=t(e[s],s,n))&&a.push(o)
-return ce.apply([],a)},guid:1,support:ve}),"function"==typeof Symbol&&(Ae.fn[Symbol.iterator]=oe[Symbol.iterator]),Ae.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){de["[object "+t+"]"]=t.toLowerCase()})
-var Ie=function(e){function t(e,t,n,r){var i,o,s,a,u,l,d,p=t&&t.ownerDocument,f=t?t.nodeType:9
-if(n=n||[],"string"!=typeof e||!e||1!==f&&9!==f&&11!==f)return n
-if(!r&&((t?t.ownerDocument||t:F)!==P&&T(t),t=t||P,R)){if(11!==f&&(u=ge.exec(e)))if(i=u[1]){if(9===f){if(!(s=t.getElementById(i)))return n
-if(s.id===i)return n.push(s),n}else if(p&&(s=p.getElementById(i))&&D(t,s)&&s.id===i)return n.push(s),n}else{if(u[2])return Z.apply(n,t.getElementsByTagName(e)),n
-if((i=u[3])&&C.getElementsByClassName&&t.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(i)),n}if(C.qsa&&!V[e+" "]&&(!N||!N.test(e))){if(1!==f)p=t,d=e
-else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(be,Ce):t.setAttribute("id",a=z),l=w(e),o=l.length;o--;)l[o]="#"+a+" "+h(l[o])
-d=l.join(","),p=me.test(e)&&c(t.parentNode)||t}if(d)try{return Z.apply(n,p.querySelectorAll(d)),n}catch(e){}finally{a===z&&t.removeAttribute("id")}}}return k(e.replace(oe,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>A.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[]
-return e}function r(e){return e[z]=!0,e}function i(e){var t=P.createElement("fieldset")
-try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)A.attrHandle[n[r]]=t}function s(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 a(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&_e(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function u(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&void 0!==e.getElementsByTagName&&e}function l(){}function h(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value
-return r}function d(e,t,n){var r=t.dir,i=t.next,o=i||r,s=n&&"parentNode"===o,a=H++
-return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||s)return e(t,n,i)
-return!1}:function(t,n,u){var c,l,h,d=[B,a]
-if(u){for(;t=t[r];)if((1===t.nodeType||s)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||s)if(h=t[z]||(t[z]={}),l=h[t.uniqueID]||(h[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t
-else{if((c=l[o])&&c[0]===B&&c[1]===a)return d[2]=c[2]
-if(l[o]=d,d[2]=e(t,n,u))return!0}return!1}}function p(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1
-return!0}:e[0]}function f(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r)
-return r}function g(e,t,n,r,i){for(var o,s=[],a=0,u=e.length,c=null!=t;a<u;a++)(o=e[a])&&(n&&!n(o,r,i)||(s.push(o),c&&t.push(a)))
-return s}function m(e,t,n,i,o,s){return i&&!i[z]&&(i=m(i)),o&&!o[z]&&(o=m(o,s)),r(function(r,s,a,u){var c,l,h,d=[],p=[],m=s.length,v=r||f(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?v:g(v,d,e,a,u),b=n?o||(r?e:m||i)?[]:s:y
-if(n&&n(y,b,a,u),i)for(c=g(b,p),i(c,[],a,u),l=c.length;l--;)(h=c[l])&&(b[p[l]]=!(y[p[l]]=h))
-if(r){if(o||e){if(o){for(c=[],l=b.length;l--;)(h=b[l])&&c.push(y[l]=h)
-o(null,b=[],c,u)}for(l=b.length;l--;)(h=b[l])&&(c=o?J(r,h):d[l])>-1&&(r[c]=!(s[c]=h))}}else b=g(b===s?b.splice(m,b.length):b),o?o(null,s,b,u):Z.apply(s,b)})}function v(e){for(var t,n,r,i=e.length,o=A.relative[e[0].type],s=o||A.relative[" "],a=o?1:0,u=d(function(e){return e===t},s,!0),c=d(function(e){return J(t,e)>-1},s,!0),l=[function(e,n,r){var i=!o&&(r||n!==j)||((t=n).nodeType?u(e,n,r):c(e,n,r))
-return t=null,i}];a<i;a++)if(n=A.relative[e[a].type])l=[d(p(l),n)]
-else{if(n=A.filter[e[a].type].apply(null,e[a].matches),n[z]){for(r=++a;r<i&&!A.relative[e[r].type];r++);return m(a>1&&p(l),a>1&&h(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(oe,"$1"),n,a<r&&v(e.slice(a,r)),r<i&&v(e=e.slice(r)),r<i&&h(e))}l.push(n)}return p(l)}function y(e,n){var i=n.length>0,o=e.length>0,s=function(r,s,a,u,c){var l,h,d,p=0,f="0",m=r&&[],v=[],y=j,b=r||o&&A.find.TAG("*",c),C=B+=null==y?1:Math.random()||.1,_=b.length
-for(c&&(j=s===P||s||c);f!==_&&null!=(l=b[f]);f++){if(o&&l){for(h=0,s||l.ownerDocument===P||(T(l),a=!R);d=e[h++];)if(d(l,s||P,a)){u.push(l)
-break}c&&(B=C)}i&&((l=!d&&l)&&p--,r&&m.push(l))}if(p+=f,i&&f!==p){for(h=0;d=n[h++];)d(m,v,s,a)
-if(r){if(p>0)for(;f--;)m[f]||v[f]||(v[f]=K.call(u))
-v=g(v)}Z.apply(u,v),c&&!r&&v.length>0&&p+n.length>1&&t.uniqueSort(u)}return c&&(B=C,j=y),m}
-return i?r(s):s}var b,C,A,_,I,w,x,k,j,E,S,T,P,O,R,N,M,L,D,z="sizzle"+1*new Date,F=e.document,B=0,H=0,U=n(),q=n(),V=n(),W=function(e,t){return e===t&&(S=!0),0},G={}.hasOwnProperty,Y=[],K=Y.pop,Q=Y.push,Z=Y.push,X=Y.slice,J=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n
-return-1},$="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ee="[\\x20\\t\\r\\n\\f]",te="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",ne="\\["+ee+"*("+te+")(?:"+ee+"*([*^$|!~]?=)"+ee+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+te+"))|)"+ee+"*\\]",re=":("+te+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ne+")*)|.*)\\)|)",ie=new RegExp(ee+"+","g"),oe=new RegExp("^"+ee+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ee+"+$","g"),se=new RegExp("^"+ee+"*,"+ee+"*"),ae=new RegExp("^"+ee+"*([>+~]|"+ee+")"+ee+"*"),ue=new RegExp("="+ee+"*([^\\]'\"]*?)"+ee+"*\\]","g"),ce=new RegExp(re),le=new RegExp("^"+te+"$"),he={ID:new RegExp("^#("+te+")"),CLASS:new RegExp("^\\.("+te+")"),TAG:new RegExp("^("+te+"|[*])"),ATTR:new RegExp("^"+ne),PSEUDO:new RegExp("^"+re),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ee+"*(even|odd|(([+-]|)(\\d*)n|)"+ee+"*(?:([+-]|)"+ee+"*(\\d+)|))"+ee+"*\\)|)","i"),bool:new RegExp("^(?:"+$+")$","i"),needsContext:new RegExp("^"+ee+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ee+"*((?:-\\d)?\\d*)"+ee+"*\\)|)(?=[^-]|$)","i")},de=/^(?:input|select|textarea|button)$/i,pe=/^h\d$/i,fe=/^[^{]+\{\s*\[native \w/,ge=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,me=/[+~]/,ve=new RegExp("\\\\([\\da-f]{1,6}"+ee+"?|("+ee+")|.)","ig"),ye=function(e,t,n){var r="0x"+t-65536
-return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},be=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Ce=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},Ae=function(){T()},_e=d(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"})
-try{Z.apply(Y=X.call(F.childNodes),F.childNodes),Y[F.childNodes.length].nodeType}catch(e){Z={apply:Y.length?function(e,t){Q.apply(e,X.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}C=t.support={},I=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement
-return!!t&&"HTML"!==t.nodeName},T=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:F
-return r!==P&&9===r.nodeType&&r.documentElement?(P=r,O=P.documentElement,R=!I(P),F!==P&&(n=P.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Ae,!1):n.attachEvent&&n.attachEvent("onunload",Ae)),C.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),C.getElementsByTagName=i(function(e){return e.appendChild(P.createComment("")),!e.getElementsByTagName("*").length}),C.getElementsByClassName=fe.test(P.getElementsByClassName),C.getById=i(function(e){return O.appendChild(e).id=z,!P.getElementsByName||!P.getElementsByName(z).length}),C.getById?(A.filter.ID=function(e){var t=e.replace(ve,ye)
-return function(e){return e.getAttribute("id")===t}},A.find.ID=function(e,t){if(void 0!==t.getElementById&&R){var n=t.getElementById(e)
-return n?[n]:[]}}):(A.filter.ID=function(e){var t=e.replace(ve,ye)
-return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id")
-return n&&n.value===t}},A.find.ID=function(e,t){if(void 0!==t.getElementById&&R){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[]}}),A.find.TAG=C.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):C.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e)
-if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n)
-return r}return o},A.find.CLASS=C.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&R)return t.getElementsByClassName(e)},M=[],N=[],(C.qsa=fe.test(P.querySelectorAll))&&(i(function(e){O.appendChild(e).innerHTML="<a id='"+z+"'></a><select id='"+z+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&N.push("[*^$]="+ee+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||N.push("\\["+ee+"*(?:value|"+$+")"),e.querySelectorAll("[id~="+z+"-]").length||N.push("~="),e.querySelectorAll(":checked").length||N.push(":checked"),e.querySelectorAll("a#"+z+"+*").length||N.push(".#.+[+~]")}),i(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"
-var t=P.createElement("input")
-t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&N.push("name"+ee+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&N.push(":enabled",":disabled"),O.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&N.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),N.push(",.*:")})),(C.matchesSelector=fe.test(L=O.matches||O.webkitMatchesSelector||O.mozMatchesSelector||O.oMatchesSelector||O.msMatchesSelector))&&i(function(e){C.disconnectedMatch=L.call(e,"*"),L.call(e,"[s!='']:x"),M.push("!=",re)}),N=N.length&&new RegExp(N.join("|")),M=M.length&&new RegExp(M.join("|")),t=fe.test(O.compareDocumentPosition),D=t||fe.test(O.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},W=t?function(e,t){if(e===t)return S=!0,0
-var n=!e.compareDocumentPosition-!t.compareDocumentPosition
-return n||(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!C.sortDetached&&t.compareDocumentPosition(e)===n?e===P||e.ownerDocument===F&&D(F,e)?-1:t===P||t.ownerDocument===F&&D(F,t)?1:E?J(E,e)-J(E,t):0:4&n?-1:1)}:function(e,t){if(e===t)return S=!0,0
-var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t]
-if(!i||!o)return e===P?-1:t===P?1:i?-1:o?1:E?J(E,e)-J(E,t):0
-if(i===o)return s(e,t)
-for(n=e;n=n.parentNode;)a.unshift(n)
-for(n=t;n=n.parentNode;)u.unshift(n)
-for(;a[r]===u[r];)r++
-return r?s(a[r],u[r]):a[r]===F?-1:u[r]===F?1:0},P):P},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==P&&T(e),n=n.replace(ue,"='$1']"),C.matchesSelector&&R&&!V[n+" "]&&(!M||!M.test(n))&&(!N||!N.test(n)))try{var r=L.call(e,n)
-if(r||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,P,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==P&&T(e),D(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==P&&T(e)
-var n=A.attrHandle[t.toLowerCase()],r=n&&G.call(A.attrHandle,t.toLowerCase())?n(e,t,!R):void 0
-return void 0!==r?r:C.attributes||!R?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.escape=function(e){return(e+"").replace(be,Ce)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0
-if(S=!C.detectDuplicates,E=!C.sortStable&&e.slice(0),e.sort(W),S){for(;t=e[i++];)t===e[i]&&(r=n.push(i))
-for(;r--;)e.splice(n[r],1)}return E=null,e},_=t.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+=_(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=_(t)
-return n},A=t.selectors={cacheLength:50,createPseudo:r,match:he,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(ve,ye),e[3]=(e[3]||e[4]||e[5]||"").replace(ve,ye),"~="===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]||t.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]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2]
-return he.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&ce.test(n)&&(t=w(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(ve,ye).toLowerCase()
-return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=U[e+" "]
-return t||(t=new RegExp("(^|"+ee+")"+e+"("+ee+"|$)"))&&U(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e)
-return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ie," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t
-return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var c,l,h,d,p,f,g=o!==s?"nextSibling":"previousSibling",m=t.parentNode,v=a&&t.nodeName.toLowerCase(),y=!u&&!a,b=!1
-if(m){if(o){for(;g;){for(d=t;d=d[g];)if(a?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1
-f=g="only"===e&&!f&&"nextSibling"}return!0}if(f=[s?m.firstChild:m.lastChild],s&&y){for(d=m,h=d[z]||(d[z]={}),l=h[d.uniqueID]||(h[d.uniqueID]={}),c=l[e]||[],p=c[0]===B&&c[1],b=p&&c[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(b=p=0)||f.pop();)if(1===d.nodeType&&++b&&d===t){l[e]=[B,p,b]
-break}}else if(y&&(d=t,h=d[z]||(d[z]={}),l=h[d.uniqueID]||(h[d.uniqueID]={}),c=l[e]||[],p=c[0]===B&&c[1],b=p),!1===b)for(;(d=++p&&d&&d[g]||(b=p=0)||f.pop())&&((a?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++b||(y&&(h=d[z]||(d[z]={}),l=h[d.uniqueID]||(h[d.uniqueID]={}),l[e]=[B,b]),d!==t)););return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,n){var i,o=A.pseudos[e]||A.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e)
-return o[z]?o(n):o.length>1?(i=[e,e,"",n],A.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)r=J(e,i[s]),e[r]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=x(e.replace(oe,"$1"))
-return i[z]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(ve,ye),function(t){return(t.textContent||t.innerText||_(t)).indexOf(e)>-1}}),lang:r(function(e){return le.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(ve,ye).toLowerCase(),function(t){var n
-do{if(n=R?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType)
-return!1}}),target:function(t){var n=e.location&&e.location.hash
-return n&&n.slice(1)===t.id},root:function(e){return e===O},focus:function(e){return e===P.activeElement&&(!P.hasFocus||P.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:a(!1),disabled:a(!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!A.pseudos.empty(e)},header:function(e){return pe.test(e.nodeName)},input:function(e){return de.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:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n<t;n+=2)e.push(n)
-return e}),odd:u(function(e,t){for(var n=1;n<t;n+=2)e.push(n)
-return e}),lt:u(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r)
-return e}),gt:u(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r)
-return e})}},A.pseudos.nth=A.pseudos.eq
-for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})A.pseudos[b]=function(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}(b)
-for(b in{submit:!0,reset:!0})A.pseudos[b]=function(e){return function(t){var n=t.nodeName.toLowerCase()
-return("input"===n||"button"===n)&&t.type===e}}(b)
-return l.prototype=A.filters=A.pseudos,A.setFilters=new l,w=t.tokenize=function(e,n){var r,i,o,s,a,u,c,l=q[e+" "]
-if(l)return n?0:l.slice(0)
-for(a=e,u=[],c=A.preFilter;a;){r&&!(i=se.exec(a))||(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),r=!1,(i=ae.exec(a))&&(r=i.shift(),o.push({value:r,type:i[0].replace(oe," ")}),a=a.slice(r.length))
-for(s in A.filter)!(i=he[s].exec(a))||c[s]&&!(i=c[s](i))||(r=i.shift(),o.push({value:r,type:s,matches:i}),a=a.slice(r.length))
-if(!r)break}return n?a.length:a?t.error(e):q(e,u).slice(0)},x=t.compile=function(e,t){var n,r=[],i=[],o=V[e+" "]
-if(!o){for(t||(t=w(e)),n=t.length;n--;)o=v(t[n]),o[z]?r.push(o):i.push(o)
-o=V(e,y(i,r)),o.selector=e}return o},k=t.select=function(e,t,n,r){var i,o,s,a,u,l="function"==typeof e&&e,d=!r&&w(e=l.selector||e)
-if(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&"ID"===(s=o[0]).type&&9===t.nodeType&&R&&A.relative[o[1].type]){if(!(t=(A.find.ID(s.matches[0].replace(ve,ye),t)||[])[0]))return n
-l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=he.needsContext.test(e)?0:o.length;i--&&(s=o[i],!A.relative[a=s.type]);)if((u=A.find[a])&&(r=u(s.matches[0].replace(ve,ye),me.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&h(o)))return Z.apply(n,r),n
-break}}return(l||x(e,d))(r,t,!R,n,!t||me.test(e)&&c(t.parentNode)||t),n},C.sortStable=z.split("").sort(W).join("")===z,C.detectDuplicates=!!S,T(),C.sortDetached=i(function(e){return 1&e.compareDocumentPosition(P.createElement("fieldset"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),C.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o($,function(e,t,n){var r
-if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e)
-Ae.find=Ie,Ae.expr=Ie.selectors,Ae.expr[":"]=Ae.expr.pseudos,Ae.uniqueSort=Ae.unique=Ie.uniqueSort,Ae.text=Ie.getText,Ae.isXMLDoc=Ie.isXML,Ae.contains=Ie.contains,Ae.escapeSelector=Ie.escape
-var we=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&Ae(e).is(n))break
-r.push(e)}return r},xe=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e)
-return n},ke=Ae.expr.match.needsContext,je=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i
-Ae.filter=function(e,t,n){var r=t[0]
-return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?Ae.find.matchesSelector(r,e)?[r]:[]:Ae.find.matches(e,Ae.grep(t,function(e){return 1===e.nodeType}))},Ae.fn.extend({find:function(e){var t,n,r=this.length,i=this
-if("string"!=typeof e)return this.pushStack(Ae(e).filter(function(){for(t=0;t<r;t++)if(Ae.contains(i[t],this))return!0}))
-for(n=this.pushStack([]),t=0;t<r;t++)Ae.find(e,i[t],n)
-return r>1?Ae.uniqueSort(n):n},filter:function(e){return this.pushStack(s(this,e||[],!1))},not:function(e){return this.pushStack(s(this,e||[],!0))},is:function(e){return!!s(this,"string"==typeof e&&ke.test(e)?Ae(e):e||[],!1).length}})
-var Ee,Se=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(Ae.fn.init=function(e,t,n){var r,i
-if(!e)return this
-if(n=n||Ee,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Se.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 Ae?t[0]:t,Ae.merge(this,Ae.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:se,!0)),je.test(r[1])&&Ae.isPlainObject(t))for(r in t)ye(this[r])?this[r](t[r]):this.attr(r,t[r])
-return this}return i=se.getElementById(r[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):ye(e)?void 0!==n.ready?n.ready(e):e(Ae):Ae.makeArray(e,this)}).prototype=Ae.fn,Ee=Ae(se)
-var Te=/^(?:parents|prev(?:Until|All))/,Pe={children:!0,contents:!0,next:!0,prev:!0}
-Ae.fn.extend({has:function(e){var t=Ae(e,this),n=t.length
-return this.filter(function(){for(var e=0;e<n;e++)if(Ae.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],s="string"!=typeof e&&Ae(e)
-if(!ke.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&Ae.find.matchesSelector(n,e))){o.push(n)
-break}return this.pushStack(o.length>1?Ae.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?he.call(Ae(e),this[0]):he.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(Ae.uniqueSort(Ae.merge(this.get(),Ae(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),Ae.each({parent:function(e){var t=e.parentNode
-return t&&11!==t.nodeType?t:null},parents:function(e){return we(e,"parentNode")},parentsUntil:function(e,t,n){return we(e,"parentNode",n)},next:function(e){return a(e,"nextSibling")},prev:function(e){return a(e,"previousSibling")},nextAll:function(e){return we(e,"nextSibling")},prevAll:function(e){return we(e,"previousSibling")},nextUntil:function(e,t,n){return we(e,"nextSibling",n)},prevUntil:function(e,t,n){return we(e,"previousSibling",n)},siblings:function(e){return xe((e.parentNode||{}).firstChild,e)},children:function(e){return xe(e.firstChild)},contents:function(e){return o(e,"iframe")?e.contentDocument:(o(e,"template")&&(e=e.content||e),Ae.merge([],e.childNodes))}},function(e,t){Ae.fn[e]=function(n,r){var i=Ae.map(this,t,n)
-return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=Ae.filter(r,i)),this.length>1&&(Pe[e]||Ae.uniqueSort(i),Te.test(e)&&i.reverse()),this.pushStack(i)}})
-var Oe=/[^\x20\t\r\n\f]+/g
-Ae.Callbacks=function(e){e="string"==typeof e?u(e):Ae.extend({},e)
-var t,n,i,o,s=[],a=[],c=-1,l=function(){for(o=o||e.once,i=t=!0;a.length;c=-1)for(n=a.shift();++c<s.length;)!1===s[c].apply(n[0],n[1])&&e.stopOnFalse&&(c=s.length,n=!1)
-e.memory||(n=!1),t=!1,o&&(s=n?[]:"")},h={add:function(){return s&&(n&&!t&&(c=s.length-1,a.push(n)),function t(n){Ae.each(n,function(n,i){ye(i)?e.unique&&h.has(i)||s.push(i):i&&i.length&&"string"!==r(i)&&t(i)})}(arguments),n&&!t&&l()),this},remove:function(){return Ae.each(arguments,function(e,t){for(var n;(n=Ae.inArray(t,s,n))>-1;)s.splice(n,1),n<=c&&c--}),this},has:function(e){return e?Ae.inArray(e,s)>-1:s.length>0},empty:function(){return s&&(s=[]),this},disable:function(){return o=a=[],s=n="",this},disabled:function(){return!s},lock:function(){return o=a=[],n||t||(s=n=""),this},locked:function(){return!!o},fireWith:function(e,n){return o||(n=n||[],n=[e,n.slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!i}}
-return h},Ae.extend({Deferred:function(t){var n=[["notify","progress",Ae.Callbacks("memory"),Ae.Callbacks("memory"),2],["resolve","done",Ae.Callbacks("once memory"),Ae.Callbacks("once memory"),0,"resolved"],["reject","fail",Ae.Callbacks("once memory"),Ae.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments
-return Ae.Deferred(function(t){Ae.each(n,function(n,r){var i=ye(e[r[4]])&&e[r[4]]
-o[r[1]](function(){var e=i&&i.apply(this,arguments)
-e&&ye(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){function o(t,n,r,i){return function(){var a=this,u=arguments,h=function(){var e,h
-if(!(t<s)){if((e=r.apply(a,u))===n.promise())throw new TypeError("Thenable self-resolution")
-h=e&&("object"==typeof e||"function"==typeof e)&&e.then,ye(h)?i?h.call(e,o(s,n,c,i),o(s,n,l,i)):(s++,h.call(e,o(s,n,c,i),o(s,n,l,i),o(s,n,c,n.notifyWith))):(r!==c&&(a=void 0,u=[e]),(i||n.resolveWith)(a,u))}},d=i?h:function(){try{h()}catch(e){Ae.Deferred.exceptionHook&&Ae.Deferred.exceptionHook(e,d.stackTrace),t+1>=s&&(r!==l&&(a=void 0,u=[e]),n.rejectWith(a,u))}}
-t?d():(Ae.Deferred.getStackHook&&(d.stackTrace=Ae.Deferred.getStackHook()),e.setTimeout(d))}}var s=0
-return Ae.Deferred(function(e){n[0][3].add(o(0,e,ye(i)?i:c,e.notifyWith)),n[1][3].add(o(0,e,ye(t)?t:c)),n[2][3].add(o(0,e,ye(r)?r:l))}).promise()},promise:function(e){return null!=e?Ae.extend(e,i):i}},o={}
-return Ae.each(n,function(e,t){var s=t[2],a=t[5]
-i[t[1]]=s.add,a&&s.add(function(){r=a},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),s.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=s.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=ue.call(arguments),o=Ae.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?ue.call(arguments):n,--t||o.resolveWith(r,i)}}
-if(t<=1&&(h(e,o.done(s(n)).resolve,o.reject,!t),"pending"===o.state()||ye(i[n]&&i[n].then)))return o.then()
-for(;n--;)h(i[n],s(n),o.reject)
-return o.promise()}})
-var Re=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/
-Ae.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&Re.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},Ae.readyException=function(t){e.setTimeout(function(){throw t})}
-var Ne=Ae.Deferred()
-Ae.fn.ready=function(e){return Ne.then(e).catch(function(e){Ae.readyException(e)}),this},Ae.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--Ae.readyWait:Ae.isReady)||(Ae.isReady=!0,!0!==e&&--Ae.readyWait>0||Ne.resolveWith(se,[Ae]))}}),Ae.ready.then=Ne.then,"complete"===se.readyState||"loading"!==se.readyState&&!se.documentElement.doScroll?e.setTimeout(Ae.ready):(se.addEventListener("DOMContentLoaded",d),e.addEventListener("load",d))
-var Me=function(e,t,n,i,o,s,a){var u=0,c=e.length,l=null==n
-if("object"===r(n)){o=!0
-for(u in n)Me(e,t,u,n[u],!0,s,a)}else if(void 0!==i&&(o=!0,ye(i)||(a=!0),l&&(a?(t.call(e,i),t=null):(l=t,t=function(e,t,n){return l.call(Ae(e),n)})),t))for(;u<c;u++)t(e[u],n,a?i:i.call(e[u],u,t(e[u],n)))
-return o?e:l?t.call(e):c?t(e[0],n):s},Le=/^-ms-/,De=/-([a-z])/g,ze=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType}
-g.uid=1,g.prototype={cache:function(e){var t=e[this.expando]
-return t||(t={},ze(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[f(t)]=n
-else for(r in t)i[f(r)]=t[r]
-return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][f(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){Array.isArray(t)?t=t.map(f):(t=f(t),t=t in r?[t]:t.match(Oe)||[]),n=t.length
-for(;n--;)delete r[t[n]]}(void 0===t||Ae.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&&!Ae.isEmptyObject(t)}}
-var Fe=new g,Be=new g,He=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Ue=/[A-Z]/g
-Ae.extend({hasData:function(e){return Be.hasData(e)||Fe.hasData(e)},data:function(e,t,n){return Be.access(e,t,n)},removeData:function(e,t){Be.remove(e,t)},_data:function(e,t,n){return Fe.access(e,t,n)},_removeData:function(e,t){Fe.remove(e,t)}}),Ae.fn.extend({data:function(e,t){var n,r,i,o=this[0],s=o&&o.attributes
-if(void 0===e){if(this.length&&(i=Be.get(o),1===o.nodeType&&!Fe.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&(r=s[n].name,0===r.indexOf("data-")&&(r=f(r.slice(5)),v(o,r,i[r])))
-Fe.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){Be.set(this,e)}):Me(this,function(t){var n
-if(o&&void 0===t){if(void 0!==(n=Be.get(o,e)))return n
-if(void 0!==(n=v(o,e)))return n}else this.each(function(){Be.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Be.remove(this,e)})}}),Ae.extend({queue:function(e,t,n){var r
-if(e)return t=(t||"fx")+"queue",r=Fe.get(e,t),n&&(!r||Array.isArray(n)?r=Fe.access(e,t,Ae.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx"
-var n=Ae.queue(e,t),r=n.length,i=n.shift(),o=Ae._queueHooks(e,t),s=function(){Ae.dequeue(e,t)}
-"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,s,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks"
-return Fe.get(e,n)||Fe.access(e,n,{empty:Ae.Callbacks("once memory").add(function(){Fe.remove(e,[t+"queue",n])})})}}),Ae.fn.extend({queue:function(e,t){var n=2
-return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?Ae.queue(this[0],e):void 0===t?this:this.each(function(){var n=Ae.queue(this,e,t)
-Ae._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&Ae.dequeue(this,e)})},dequeue:function(e){return this.each(function(){Ae.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=Ae.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])}
-for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)(n=Fe.get(o[s],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(a))
-return a(),i.promise(t)}})
-var qe=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Ve=new RegExp("^(?:([+-])=|)("+qe+")([a-z%]*)$","i"),We=["Top","Right","Bottom","Left"],Ge=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&Ae.contains(e.ownerDocument,e)&&"none"===Ae.css(e,"display")},Ye=function(e,t,n,r){var i,o,s={}
-for(o in t)s[o]=e.style[o],e.style[o]=t[o]
-i=n.apply(e,r||[])
-for(o in t)e.style[o]=s[o]
-return i},Ke={}
-Ae.fn.extend({show:function(){return C(this,!0)},hide:function(){return C(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Ge(this)?Ae(this).show():Ae(this).hide()})}})
-var Qe=/^(?:checkbox|radio)$/i,Ze=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Xe=/^$|^module$|\/(?:java|ecma)script/i,Je={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,"",""]}
-Je.optgroup=Je.option,Je.tbody=Je.tfoot=Je.colgroup=Je.caption=Je.thead,Je.th=Je.td
-var $e=/<|&#?\w+;/;(function(){var e=se.createDocumentFragment(),t=e.appendChild(se.createElement("div")),n=se.createElement("input")
-n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),ve.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",ve.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue})()
-var et=se.documentElement,tt=/^key/,nt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rt=/^([^.]*)(?:\.(.+)|)/
-Ae.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,c,l,h,d,p,f,g,m=Fe.get(e)
-if(m)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&Ae.find.matchesSelector(et,i),n.guid||(n.guid=Ae.guid++),(u=m.events)||(u=m.events={}),(s=m.handle)||(s=m.handle=function(t){return void 0!==Ae&&Ae.event.triggered!==t.type?Ae.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Oe)||[""],c=t.length;c--;)a=rt.exec(t[c])||[],p=g=a[1],f=(a[2]||"").split(".").sort(),p&&(h=Ae.event.special[p]||{},p=(i?h.delegateType:h.bindType)||p,h=Ae.event.special[p]||{},l=Ae.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&Ae.expr.match.needsContext.test(i),namespace:f.join(".")},o),(d=u[p])||(d=u[p]=[],d.delegateCount=0,h.setup&&!1!==h.setup.call(e,r,f,s)||e.addEventListener&&e.addEventListener(p,s)),h.add&&(h.add.call(e,l),l.handler.guid||(l.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,l):d.push(l),Ae.event.global[p]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,c,l,h,d,p,f,g,m=Fe.hasData(e)&&Fe.get(e)
-if(m&&(u=m.events)){for(t=(t||"").match(Oe)||[""],c=t.length;c--;)if(a=rt.exec(t[c])||[],p=g=a[1],f=(a[2]||"").split(".").sort(),p){for(h=Ae.event.special[p]||{},p=(r?h.delegateType:h.bindType)||p,d=u[p]||[],a=a[2]&&new RegExp("(^|\\.)"+f.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=d.length;o--;)l=d[o],!i&&g!==l.origType||n&&n.guid!==l.guid||a&&!a.test(l.namespace)||r&&r!==l.selector&&("**"!==r||!l.selector)||(d.splice(o,1),l.selector&&d.delegateCount--,h.remove&&h.remove.call(e,l))
-s&&!d.length&&(h.teardown&&!1!==h.teardown.call(e,f,m.handle)||Ae.removeEvent(e,p,m.handle),delete u[p])}else for(p in u)Ae.event.remove(e,p+t[c],n,r,!0)
-Ae.isEmptyObject(u)&&Fe.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,s,a=Ae.event.fix(e),u=new Array(arguments.length),c=(Fe.get(this,"events")||{})[a.type]||[],l=Ae.event.special[a.type]||{}
-for(u[0]=a,t=1;t<arguments.length;t++)u[t]=arguments[t]
-if(a.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,a)){for(s=Ae.event.handlers.call(this,a,c),t=0;(i=s[t++])&&!a.isPropagationStopped();)for(a.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(o.namespace)||(a.handleObj=o,a.data=o.data,void 0!==(r=((Ae.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(a.result=r)&&(a.preventDefault(),a.stopPropagation()))
-return l.postDispatch&&l.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,r,i,o,s,a=[],u=t.delegateCount,c=e.target
-if(u&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||!0!==c.disabled)){for(o=[],s={},n=0;n<u;n++)r=t[n],i=r.selector+" ",void 0===s[i]&&(s[i]=r.needsContext?Ae(i,this).index(c)>-1:Ae.find(i,this,null,[c]).length),s[i]&&o.push(r)
-o.length&&a.push({elem:c,handlers:o})}return c=this,u<t.length&&a.push({elem:c,handlers:t.slice(u)}),a},addProp:function(e,t){Object.defineProperty(Ae.Event.prototype,e,{enumerable:!0,configurable:!0,get:ye(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[Ae.expando]?e:new Ae.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==k()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===k()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&o(this,"input"))return this.click(),!1},_default:function(e){return o(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},Ae.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},Ae.Event=function(e,t){if(!(this instanceof Ae.Event))return new Ae.Event(e,t)
-e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?w:x,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&&Ae.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[Ae.expando]=!0},Ae.Event.prototype={constructor:Ae.Event,isDefaultPrevented:x,isPropagationStopped:x,isImmediatePropagationStopped:x,isSimulated:!1,preventDefault:function(){var e=this.originalEvent
-this.isDefaultPrevented=w,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent
-this.isPropagationStopped=w,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent
-this.isImmediatePropagationStopped=w,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},Ae.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,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&&tt.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&nt.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},Ae.event.addProp),Ae.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){Ae.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj
-return i&&(i===r||Ae.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),Ae.fn.extend({on:function(e,t,n,r){return j(this,e,t,n,r)},one:function(e,t,n,r){return j(this,e,t,n,r,1)},off:function(e,t,n){var r,i
-if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,Ae(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this
-if("object"==typeof e){for(i in e)this.off(i,t,e[i])
-return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=x),this.each(function(){Ae.event.remove(this,e,n,t)})}})
-var it=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,ot=/<script|<style|<link/i,st=/checked\s*(?:[^=]|=\s*.checked.)/i,at=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g
-Ae.extend({htmlPrefilter:function(e){return e.replace(it,"<$1></$2>")},clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=Ae.contains(e.ownerDocument,e)
-if(!(ve.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||Ae.isXMLDoc(e)))for(s=A(a),o=A(e),r=0,i=o.length;r<i;r++)O(o[r],s[r])
-if(t)if(n)for(o=o||A(e),s=s||A(a),r=0,i=o.length;r<i;r++)P(o[r],s[r])
-else P(e,a)
-return s=A(a,"script"),s.length>0&&_(s,!u&&A(e,"script")),a},cleanData:function(e){for(var t,n,r,i=Ae.event.special,o=0;void 0!==(n=e[o]);o++)if(ze(n)){if(t=n[Fe.expando]){if(t.events)for(r in t.events)i[r]?Ae.event.remove(n,r):Ae.removeEvent(n,r,t.handle)
-n[Fe.expando]=void 0}n[Be.expando]&&(n[Be.expando]=void 0)}}}),Ae.fn.extend({detach:function(e){return N(this,e,!0)},remove:function(e){return N(this,e)},text:function(e){return Me(this,function(e){return void 0===e?Ae.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 R(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){E(this,e).appendChild(e)}})},prepend:function(){return R(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=E(this,e)
-t.insertBefore(e,t.firstChild)}})},before:function(){return R(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return R(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&&(Ae.cleanData(A(e,!1)),e.textContent="")
-return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return Ae.clone(this,e,t)})},html:function(e){return Me(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&&!ot.test(e)&&!Je[(Ze.exec(e)||["",""])[1].toLowerCase()]){e=Ae.htmlPrefilter(e)
-try{for(;n<r;n++)t=this[n]||{},1===t.nodeType&&(Ae.cleanData(A(t,!1)),t.innerHTML=e)
-t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[]
-return R(this,arguments,function(t){var n=this.parentNode
-Ae.inArray(this,e)<0&&(Ae.cleanData(A(this)),n&&n.replaceChild(t,this))},e)}}),Ae.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){Ae.fn[e]=function(e){for(var n,r=[],i=Ae(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),Ae(i[s])[t](n),le.apply(r,n.get())
-return this.pushStack(r)}})
-var ut=new RegExp("^("+qe+")(?!px)[a-z%]+$","i"),ct=function(t){var n=t.ownerDocument.defaultView
-return n&&n.opener||(n=e),n.getComputedStyle(t)},lt=new RegExp(We.join("|"),"i");(function(){function t(){if(c){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",et.appendChild(u).appendChild(c)
-var t=e.getComputedStyle(c)
-r="1%"!==t.top,a=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=36===c.offsetWidth||"absolute",et.removeChild(u),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,s,a,u=se.createElement("div"),c=se.createElement("div")
-c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",ve.clearCloneStyle="content-box"===c.style.backgroundClip,Ae.extend(ve,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),a},scrollboxSize:function(){return t(),o}}))})()
-var ht=/^(none|table(?!-c[ea]).+)/,dt=/^--/,pt={position:"absolute",visibility:"hidden",display:"block"},ft={letterSpacing:"0",fontWeight:"400"},gt=["Webkit","Moz","ms"],mt=se.createElement("div").style
-Ae.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=M(e,"opacity")
-return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!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,s,a=f(t),u=dt.test(t),c=e.style
-if(u||(t=z(a)),s=Ae.cssHooks[t]||Ae.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:c[t]
-o=typeof n,"string"===o&&(i=Ve.exec(n))&&i[1]&&(n=y(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(Ae.cssNumber[a]?"":"px")),ve.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u?c.setProperty(t,n):c[t]=n))}},css:function(e,t,n,r){var i,o,s,a=f(t)
-return dt.test(t)||(t=z(a)),s=Ae.cssHooks[t]||Ae.cssHooks[a],s&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=M(e,t,r)),"normal"===i&&t in ft&&(i=ft[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),Ae.each(["height","width"],function(e,t){Ae.cssHooks[t]={get:function(e,n,r){if(n)return!ht.test(Ae.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?H(e,t,r):Ye(e,pt,function(){return H(e,t,r)})},set:function(e,n,r){var i,o=ct(e),s="border-box"===Ae.css(e,"boxSizing",!1,o),a=r&&B(e,t,r,s,o)
-return s&&ve.scrollboxSize()===o.position&&(a-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-B(e,t,"border",!1,o)-.5)),a&&(i=Ve.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=Ae.css(e,t)),F(e,n,a)}}}),Ae.cssHooks.marginLeft=L(ve.reliableMarginLeft,function(e,t){if(t)return(parseFloat(M(e,"marginLeft"))||e.getBoundingClientRect().left-Ye(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),Ae.each({margin:"",padding:"",border:"Width"},function(e,t){Ae.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+We[r]+t]=o[r]||o[r-2]||o[0]
-return i}},"margin"!==e&&(Ae.cssHooks[e+t].set=F)}),Ae.fn.extend({css:function(e,t){return Me(this,function(e,t,n){var r,i,o={},s=0
-if(Array.isArray(t)){for(r=ct(e),i=t.length;s<i;s++)o[t[s]]=Ae.css(e,t[s],!1,r)
-return o}return void 0!==n?Ae.style(e,t,n):Ae.css(e,t)},e,t,arguments.length>1)}}),Ae.Tween=U,U.prototype={constructor:U,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||Ae.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(Ae.cssNumber[n]?"":"px")},cur:function(){var e=U.propHooks[this.prop]
-return e&&e.get?e.get(this):U.propHooks._default.get(this)},run:function(e){var t,n=U.propHooks[this.prop]
-return this.options.duration?this.pos=t=Ae.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):U.propHooks._default.set(this),this}},U.prototype.init.prototype=U.prototype,U.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=Ae.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){Ae.fx.step[e.prop]?Ae.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[Ae.cssProps[e.prop]]&&!Ae.cssHooks[e.prop]?e.elem[e.prop]=e.now:Ae.style(e.elem,e.prop,e.now+e.unit)}}},U.propHooks.scrollTop=U.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},Ae.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},Ae.fx=U.prototype.init,Ae.fx.step={}
-var vt,yt,bt=/^(?:toggle|show|hide)$/,Ct=/queueHooks$/
-Ae.Animation=Ae.extend(Q,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t)
-return y(n.elem,e,Ve.exec(t),n),n}]},tweener:function(e,t){ye(e)?(t=e,e=["*"]):e=e.match(Oe)
-for(var n,r=0,i=e.length;r<i;r++)n=e[r],Q.tweeners[n]=Q.tweeners[n]||[],Q.tweeners[n].unshift(t)},prefilters:[Y],prefilter:function(e,t){t?Q.prefilters.unshift(e):Q.prefilters.push(e)}}),Ae.speed=function(e,t,n){var r=e&&"object"==typeof e?Ae.extend({},e):{complete:n||!n&&t||ye(e)&&e,duration:e,easing:n&&t||t&&!ye(t)&&t}
-return Ae.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in Ae.fx.speeds?r.duration=Ae.fx.speeds[r.duration]:r.duration=Ae.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){ye(r.old)&&r.old.call(this),r.queue&&Ae.dequeue(this,r.queue)},r},Ae.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Ge).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=Ae.isEmptyObject(e),o=Ae.speed(t,n,r),s=function(){var t=Q(this,Ae.extend({},e),o);(i||Fe.get(this,"finish"))&&t.stop(!0)}
-return s.finish=s,i||!1===o.queue?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop
-delete e.stop,t(n)}
-return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=Ae.timers,s=Fe.get(this)
-if(i)s[i]&&s[i].stop&&r(s[i])
-else for(i in s)s[i]&&s[i].stop&&Ct.test(i)&&r(s[i])
-for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1))
-!t&&n||Ae.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=Fe.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=Ae.timers,s=r?r.length:0
-for(n.finish=!0,Ae.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1))
-for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this)
-delete n.finish})}}),Ae.each(["toggle","show","hide"],function(e,t){var n=Ae.fn[t]
-Ae.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(W(t,!0),e,r,i)}}),Ae.each({slideDown:W("show"),slideUp:W("hide"),slideToggle:W("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){Ae.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),Ae.timers=[],Ae.fx.tick=function(){var e,t=0,n=Ae.timers
-for(vt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1)
-n.length||Ae.fx.stop(),vt=void 0},Ae.fx.timer=function(e){Ae.timers.push(e),Ae.fx.start()},Ae.fx.interval=13,Ae.fx.start=function(){yt||(yt=!0,q())},Ae.fx.stop=function(){yt=null},Ae.fx.speeds={slow:600,fast:200,_default:400},Ae.fn.delay=function(t,n){return t=Ae.fx?Ae.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t)
-r.stop=function(){e.clearTimeout(i)}})},function(){var e=se.createElement("input"),t=se.createElement("select"),n=t.appendChild(se.createElement("option"))
-e.type="checkbox",ve.checkOn=""!==e.value,ve.optSelected=n.selected,e=se.createElement("input"),e.value="t",e.type="radio",ve.radioValue="t"===e.value}()
-var At,_t=Ae.expr.attrHandle
-Ae.fn.extend({attr:function(e,t){return Me(this,Ae.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){Ae.removeAttr(this,e)})}}),Ae.extend({attr:function(e,t,n){var r,i,o=e.nodeType
-if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?Ae.prop(e,t,n):(1===o&&Ae.isXMLDoc(e)||(i=Ae.attrHooks[t.toLowerCase()]||(Ae.expr.match.bool.test(t)?At:void 0)),void 0!==n?null===n?void Ae.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:(r=Ae.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!ve.radioValue&&"radio"===t&&o(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(Oe)
-if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),At={set:function(e,t,n){return!1===t?Ae.removeAttr(e,n):e.setAttribute(n,n),n}},Ae.each(Ae.expr.match.bool.source.match(/\w+/g),function(e,t){var n=_t[t]||Ae.find.attr
-_t[t]=function(e,t,r){var i,o,s=t.toLowerCase()
-return r||(o=_t[s],_t[s]=i,i=null!=n(e,t,r)?s:null,_t[s]=o),i}})
-var It=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i
-Ae.fn.extend({prop:function(e,t){return Me(this,Ae.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[Ae.propFix[e]||e]})}}),Ae.extend({prop:function(e,t,n){var r,i,o=e.nodeType
-if(3!==o&&8!==o&&2!==o)return 1===o&&Ae.isXMLDoc(e)||(t=Ae.propFix[t]||t,i=Ae.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=Ae.find.attr(e,"tabindex")
-return t?parseInt(t,10):It.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),ve.optSelected||(Ae.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)}}),Ae.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){Ae.propFix[this.toLowerCase()]=this}),Ae.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,u=0
-if(ye(e))return this.each(function(t){Ae(this).addClass(e.call(this,t,X(this)))})
-if(t=J(e),t.length)for(;n=this[u++];)if(i=X(n),r=1===n.nodeType&&" "+Z(i)+" "){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ")
-a=Z(r),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,u=0
-if(ye(e))return this.each(function(t){Ae(this).removeClass(e.call(this,t,X(this)))})
-if(!arguments.length)return this.attr("class","")
-if(t=J(e),t.length)for(;n=this[u++];)if(i=X(n),r=1===n.nodeType&&" "+Z(i)+" "){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ")
-a=Z(r),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e)
-return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):ye(e)?this.each(function(n){Ae(this).toggleClass(e.call(this,n,X(this),t),t)}):this.each(function(){var t,i,o,s
-if(r)for(i=0,o=Ae(this),s=J(e);t=s[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t)
-else void 0!==e&&"boolean"!==n||(t=X(this),t&&Fe.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Fe.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0
-for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+Z(X(n))+" ").indexOf(t)>-1)return!0
-return!1}})
-var xt=/\r/g
-Ae.fn.extend({val:function(e){var t,n,r,i=this[0]
-{if(arguments.length)return r=ye(e),this.each(function(n){var i
-1===this.nodeType&&(i=r?e.call(this,n,Ae(this).val()):e,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=Ae.map(i,function(e){return null==e?"":e+""})),(t=Ae.valHooks[this.type]||Ae.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))})
-if(i)return(t=Ae.valHooks[i.type]||Ae.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(xt,""):null==n?"":n)}}}),Ae.extend({valHooks:{option:{get:function(e){var t=Ae.find.attr(e,"value")
-return null!=t?t:Z(Ae.text(e))}},select:{get:function(e){var t,n,r,i=e.options,s=e.selectedIndex,a="select-one"===e.type,u=a?null:[],c=a?s+1:i.length
-for(r=s<0?c:a?s:0;r<c;r++)if(n=i[r],(n.selected||r===s)&&!n.disabled&&(!n.parentNode.disabled||!o(n.parentNode,"optgroup"))){if(t=Ae(n).val(),a)return t
-u.push(t)}return u},set:function(e,t){for(var n,r,i=e.options,o=Ae.makeArray(t),s=i.length;s--;)r=i[s],(r.selected=Ae.inArray(Ae.valHooks.option.get(r),o)>-1)&&(n=!0)
-return n||(e.selectedIndex=-1),o}}}}),Ae.each(["radio","checkbox"],function(){Ae.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=Ae.inArray(Ae(e).val(),t)>-1}},ve.checkOn||(Ae.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),ve.focusin="onfocusin"in e
-var kt=/^(?:focusinfocus|focusoutblur)$/,jt=function(e){e.stopPropagation()}
-Ae.extend(Ae.event,{trigger:function(t,n,r,i){var o,s,a,u,c,l,h,d,p=[r||se],f=fe.call(t,"type")?t.type:t,g=fe.call(t,"namespace")?t.namespace.split("."):[]
-if(s=d=a=r=r||se,3!==r.nodeType&&8!==r.nodeType&&!kt.test(f+Ae.event.triggered)&&(f.indexOf(".")>-1&&(g=f.split("."),f=g.shift(),g.sort()),c=f.indexOf(":")<0&&"on"+f,t=t[Ae.expando]?t:new Ae.Event(f,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=g.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+g.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:Ae.makeArray(n,[t]),h=Ae.event.special[f]||{},i||!h.trigger||!1!==h.trigger.apply(r,n))){if(!i&&!h.noBubble&&!be(r)){for(u=h.delegateType||f,kt.test(u+f)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s
-a===(r.ownerDocument||se)&&p.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=p[o++])&&!t.isPropagationStopped();)d=s,t.type=o>1?u:h.bindType||f,l=(Fe.get(s,"events")||{})[t.type]&&Fe.get(s,"handle"),l&&l.apply(s,n),(l=c&&s[c])&&l.apply&&ze(s)&&(t.result=l.apply(s,n),!1===t.result&&t.preventDefault())
-return t.type=f,i||t.isDefaultPrevented()||h._default&&!1!==h._default.apply(p.pop(),n)||!ze(r)||c&&ye(r[f])&&!be(r)&&(a=r[c],a&&(r[c]=null),Ae.event.triggered=f,t.isPropagationStopped()&&d.addEventListener(f,jt),r[f](),t.isPropagationStopped()&&d.removeEventListener(f,jt),Ae.event.triggered=void 0,a&&(r[c]=a)),t.result}},simulate:function(e,t,n){var r=Ae.extend(new Ae.Event,n,{type:e,isSimulated:!0})
-Ae.event.trigger(r,null,t)}}),Ae.fn.extend({trigger:function(e,t){return this.each(function(){Ae.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0]
-if(n)return Ae.event.trigger(e,t,n,!0)}}),ve.focusin||Ae.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){Ae.event.simulate(t,e.target,Ae.event.fix(e))}
-Ae.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Fe.access(r,t)
-i||r.addEventListener(e,n,!0),Fe.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Fe.access(r,t)-1
-i?Fe.access(r,t,i):(r.removeEventListener(e,n,!0),Fe.remove(r,t))}}})
-var Et=e.location,St=Date.now(),Tt=/\?/
-Ae.parseXML=function(t){var n
-if(!t||"string"!=typeof t)return null
-try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||Ae.error("Invalid XML: "+t),n}
-var Pt=/\[\]$/,Ot=/\r?\n/g,Rt=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i
-Ae.param=function(e,t){var n,r=[],i=function(e,t){var n=ye(t)?t():t
-r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)}
-if(Array.isArray(e)||e.jquery&&!Ae.isPlainObject(e))Ae.each(e,function(){i(this.name,this.value)})
-else for(n in e)$(n,e[n],t,i)
-return r.join("&")},Ae.fn.extend({serialize:function(){return Ae.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=Ae.prop(this,"elements")
-return e?Ae.makeArray(e):this}).filter(function(){var e=this.type
-return this.name&&!Ae(this).is(":disabled")&&Nt.test(this.nodeName)&&!Rt.test(e)&&(this.checked||!Qe.test(e))}).map(function(e,t){var n=Ae(this).val()
-return null==n?null:Array.isArray(n)?Ae.map(n,function(e){return{name:t.name,value:e.replace(Ot,"\r\n")}}):{name:t.name,value:n.replace(Ot,"\r\n")}}).get()}})
-var Mt=/%20/g,Lt=/#.*$/,Dt=/([?&])_=[^&]*/,zt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Bt=/^(?:GET|HEAD)$/,Ht=/^\/\//,Ut={},qt={},Vt="*/".concat("*"),Wt=se.createElement("a")
-Wt.href=Et.href,Ae.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:Ft.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Vt,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":Ae.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ne(ne(e,Ae.ajaxSettings),t):ne(Ae.ajaxSettings,e)},ajaxPrefilter:ee(Ut),ajaxTransport:ee(qt),ajax:function(t,n){function r(t,n,r,a){var c,d,p,C,A,_=n
-l||(l=!0,u&&e.clearTimeout(u),i=void 0,s=a||"",I.readyState=t>0?4:0,c=t>=200&&t<300||304===t,r&&(C=re(f,I,r)),C=ie(f,C,I,c),c?(f.ifModified&&(A=I.getResponseHeader("Last-Modified"),A&&(Ae.lastModified[o]=A),(A=I.getResponseHeader("etag"))&&(Ae.etag[o]=A)),204===t||"HEAD"===f.type?_="nocontent":304===t?_="notmodified":(_=C.state,d=C.data,p=C.error,c=!p)):(p=_,!t&&_||(_="error",t<0&&(t=0))),I.status=t,I.statusText=(n||_)+"",c?v.resolveWith(g,[d,_,I]):v.rejectWith(g,[I,_,p]),I.statusCode(b),b=void 0,h&&m.trigger(c?"ajaxSuccess":"ajaxError",[I,f,c?d:p]),y.fireWith(g,[I,_]),h&&(m.trigger("ajaxComplete",[I,f]),--Ae.active||Ae.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{}
-var i,o,s,a,u,c,l,h,d,p,f=Ae.ajaxSetup({},n),g=f.context||f,m=f.context&&(g.nodeType||g.jquery)?Ae(g):Ae.event,v=Ae.Deferred(),y=Ae.Callbacks("once memory"),b=f.statusCode||{},C={},A={},_="canceled",I={readyState:0,getResponseHeader:function(e){var t
-if(l){if(!a)for(a={};t=zt.exec(s);)a[t[1].toLowerCase()]=t[2]
-t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return l?s:null},setRequestHeader:function(e,t){return null==l&&(e=A[e.toLowerCase()]=A[e.toLowerCase()]||e,C[e]=t),this},overrideMimeType:function(e){return null==l&&(f.mimeType=e),this},statusCode:function(e){var t
-if(e)if(l)I.always(e[I.status])
-else for(t in e)b[t]=[b[t],e[t]]
-return this},abort:function(e){var t=e||_
-return i&&i.abort(t),r(0,t),this}}
-if(v.promise(I),f.url=((t||f.url||Et.href)+"").replace(Ht,Et.protocol+"//"),f.type=n.method||n.type||f.method||f.type,f.dataTypes=(f.dataType||"*").toLowerCase().match(Oe)||[""],null==f.crossDomain){c=se.createElement("a")
-try{c.href=f.url,c.href=c.href,f.crossDomain=Wt.protocol+"//"+Wt.host!=c.protocol+"//"+c.host}catch(e){f.crossDomain=!0}}if(f.data&&f.processData&&"string"!=typeof f.data&&(f.data=Ae.param(f.data,f.traditional)),te(Ut,f,n,I),l)return I
-h=Ae.event&&f.global,h&&0==Ae.active++&&Ae.event.trigger("ajaxStart"),f.type=f.type.toUpperCase(),f.hasContent=!Bt.test(f.type),o=f.url.replace(Lt,""),f.hasContent?f.data&&f.processData&&0===(f.contentType||"").indexOf("application/x-www-form-urlencoded")&&(f.data=f.data.replace(Mt,"+")):(p=f.url.slice(o.length),f.data&&(f.processData||"string"==typeof f.data)&&(o+=(Tt.test(o)?"&":"?")+f.data,delete f.data),!1===f.cache&&(o=o.replace(Dt,"$1"),p=(Tt.test(o)?"&":"?")+"_="+St+++p),f.url=o+p),f.ifModified&&(Ae.lastModified[o]&&I.setRequestHeader("If-Modified-Since",Ae.lastModified[o]),Ae.etag[o]&&I.setRequestHeader("If-None-Match",Ae.etag[o])),(f.data&&f.hasContent&&!1!==f.contentType||n.contentType)&&I.setRequestHeader("Content-Type",f.contentType),I.setRequestHeader("Accept",f.dataTypes[0]&&f.accepts[f.dataTypes[0]]?f.accepts[f.dataTypes[0]]+("*"!==f.dataTypes[0]?", "+Vt+"; q=0.01":""):f.accepts["*"])
-for(d in f.headers)I.setRequestHeader(d,f.headers[d])
-if(f.beforeSend&&(!1===f.beforeSend.call(g,I,f)||l))return I.abort()
-if(_="abort",y.add(f.complete),I.done(f.success),I.fail(f.error),i=te(qt,f,n,I)){if(I.readyState=1,h&&m.trigger("ajaxSend",[I,f]),l)return I
-f.async&&f.timeout>0&&(u=e.setTimeout(function(){I.abort("timeout")},f.timeout))
-try{l=!1,i.send(C,r)}catch(e){if(l)throw e
-r(-1,e)}}else r(-1,"No Transport")
-return I},getJSON:function(e,t,n){return Ae.get(e,t,n,"json")},getScript:function(e,t){return Ae.get(e,void 0,t,"script")}}),Ae.each(["get","post"],function(e,t){Ae[t]=function(e,n,r,i){return ye(n)&&(i=i||r,r=n,n=void 0),Ae.ajax(Ae.extend({url:e,type:t,dataType:i,data:n,success:r},Ae.isPlainObject(e)&&e))}}),Ae._evalUrl=function(e){return Ae.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},Ae.fn.extend({wrapAll:function(e){var t
-return this[0]&&(ye(e)&&(e=e.call(this[0])),t=Ae(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(e){return ye(e)?this.each(function(t){Ae(this).wrapInner(e.call(this,t))}):this.each(function(){var t=Ae(this),n=t.contents()
-n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ye(e)
-return this.each(function(n){Ae(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){Ae(this).replaceWith(this.childNodes)}),this}}),Ae.expr.pseudos.hidden=function(e){return!Ae.expr.pseudos.visible(e)},Ae.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},Ae.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}}
-var Gt={0:200,1223:204},Yt=Ae.ajaxSettings.xhr()
-ve.cors=!!Yt&&"withCredentials"in Yt,ve.ajax=Yt=!!Yt,Ae.ajaxTransport(function(t){var n,r
-if(ve.cors||Yt&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr()
-if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s]
-t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest")
-for(s in i)a.setRequestHeader(s,i[s])
-n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.ontimeout=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Gt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=a.ontimeout=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort")
-try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),Ae.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),Ae.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 Ae.globalEval(e),e}}}),Ae.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),Ae.ajaxTransport("script",function(e){if(e.crossDomain){var t,n
-return{send:function(r,i){t=Ae("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),se.head.appendChild(t[0])},abort:function(){n&&n()}}}})
-var Kt=[],Qt=/(=)\?(?=&|$)|\?\?/
-Ae.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||Ae.expando+"_"+St++
-return this[e]=!0,e}}),Ae.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data")
-if(a||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=ye(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(Tt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||Ae.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){void 0===o?Ae(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Kt.push(i)),s&&ye(o)&&o(s[0]),s=o=void 0}),"script"}),ve.createHTMLDocument=function(){var e=se.implementation.createHTMLDocument("").body
-return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),Ae.parseHTML=function(e,t,n){if("string"!=typeof e)return[]
-"boolean"==typeof t&&(n=t,t=!1)
-var r,i,o
-return t||(ve.createHTMLDocument?(t=se.implementation.createHTMLDocument(""),r=t.createElement("base"),r.href=se.location.href,t.head.appendChild(r)):t=se),i=je.exec(e),o=!n&&[],i?[t.createElement(i[1])]:(i=I([e],t,o),o&&o.length&&Ae(o).remove(),Ae.merge([],i.childNodes))},Ae.fn.load=function(e,t,n){var r,i,o,s=this,a=e.indexOf(" ")
-return a>-1&&(r=Z(e.slice(a)),e=e.slice(0,a)),ye(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),s.length>0&&Ae.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?Ae("<div>").append(Ae.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},Ae.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){Ae.fn[t]=function(e){return this.on(t,e)}}),Ae.expr.pseudos.animated=function(e){return Ae.grep(Ae.timers,function(t){return e===t.elem}).length},Ae.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,c,l=Ae.css(e,"position"),h=Ae(e),d={}
-"static"===l&&(e.style.position="relative"),a=h.offset(),o=Ae.css(e,"top"),u=Ae.css(e,"left"),c=("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1,c?(r=h.position(),s=r.top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),ye(t)&&(t=t.call(e,n,Ae.extend({},a))),null!=t.top&&(d.top=t.top-a.top+s),null!=t.left&&(d.left=t.left-a.left+i),"using"in t?t.using.call(e,d):h.css(d)}},Ae.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){Ae.offset.setOffset(this,e,t)})
-var t,n,r=this[0]
-if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0}
-if("fixed"===Ae.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"===Ae.css(e,"position");)e=e.parentNode
-e&&e!==r&&1===e.nodeType&&(i=Ae(e).offset(),i.top+=Ae.css(e,"borderTopWidth",!0),i.left+=Ae.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-Ae.css(r,"marginTop",!0),left:t.left-i.left-Ae.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===Ae.css(e,"position");)e=e.offsetParent
-return e||et})}}),Ae.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t
-Ae.fn[e]=function(r){return Me(this,function(e,r,i){var o
-if(be(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r]
-o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),Ae.each(["top","left"],function(e,t){Ae.cssHooks[t]=L(ve.pixelPosition,function(e,n){if(n)return n=M(e,t),ut.test(n)?Ae(e).position()[t]+"px":n})}),Ae.each({Height:"height",Width:"width"},function(e,t){Ae.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){Ae.fn[r]=function(i,o){var s=arguments.length&&(n||"boolean"!=typeof i),a=n||(!0===i||!0===o?"margin":"border")
-return Me(this,function(t,n,i){var o
-return be(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?Ae.css(t,n,a):Ae.style(t,n,i,a)},t,s?i:void 0,s)}})}),Ae.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,t){Ae.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),Ae.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),Ae.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)}}),Ae.proxy=function(e,t){var n,r,i
-if("string"==typeof t&&(n=e[t],t=e,e=n),ye(e))return r=ue.call(arguments,2),i=function(){return e.apply(t||this,r.concat(ue.call(arguments)))},i.guid=e.guid=e.guid||Ae.guid++,i},Ae.holdReady=function(e){e?Ae.readyWait++:Ae.ready(!0)},Ae.isArray=Array.isArray,Ae.parseJSON=JSON.parse,Ae.nodeName=o,Ae.isFunction=ye,Ae.isWindow=be,Ae.camelCase=f,Ae.type=r,Ae.now=Date.now,Ae.isNumeric=function(e){var t=Ae.type(e)
-return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return Ae})
-var Zt=e.jQuery,Xt=e.$
-return Ae.noConflict=function(t){return e.$===Ae&&(e.$=Xt),t&&e.jQuery===Ae&&(e.jQuery=Zt),Ae},t||(e.jQuery=e.$=Ae),Ae}),function(){var e,t,n
-mainContext=this,function(){function r(e,t){throw t?new Error("Could not find module "+e+" required by: "+t):new Error("Could not find module "+e)}function i(e,n){var a=e,u=o[a]
-u||(a+="/index",u=o[a])
-var c=s[a]
-if(void 0!==c)return c
-c=s[a]={},u||r(e,n)
-for(var l=u.deps,h=u.callback,d=new Array(l.length),p=0;p<l.length;p++)"exports"===l[p]?d[p]=c:"require"===l[p]?d[p]=t:d[p]=i(l[p],a)
-return h.apply(this,d),c}if("undefined"==typeof window&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)||(n=this.Ember=this.Ember||{}),void 0===n&&(n={}),void 0===n.__loader){var o={},s={}
-e=function(e,t,n){var r={}
-n?(r.deps=t,r.callback=n):(r.deps=[],r.callback=t),o[e]=r},t=function(e){return i(e,null)},t.default=t,t.has=function(e){return!!o[e]||!!o[e+"/index"]},t._eak_seen=o,n.__loader={define:e,require:t,registry:o}}else e=n.__loader.define,t=n.__loader.require}(),e("@glimmer/encoder",["exports"],function(e){"use strict"
-e.InstructionEncoder=void 0
-var t=function(){function e(e){this.buffer=e,this.typePos=0,this.size=0}return e.prototype.encode=function(e,t){var n,r
-if(e>255)throw new Error("Opcode type over 8-bits. Got "+e+".")
-for(this.buffer.push(e|t|arguments.length-2<<8),this.typePos=this.buffer.length-1,n=2;n<arguments.length;n++){if("number"==typeof(r=arguments[n])&&r>65535)throw new Error("Operand over 16-bits. Got "+r+".")
-this.buffer.push(r)}this.size=this.buffer.length},e.prototype.patch=function(e,t){if(-1!==this.buffer[e+1])throw new Error("Trying to patch operand in populated slot instead of a reserved slot.")
-this.buffer[e+1]=t},e.prototype.patchWith=function(e,t,n){if(-1!==this.buffer[e+1])throw new Error("Trying to patch operand in populated slot instead of a reserved slot.")
-this.buffer[e+1]=t,this.buffer[e+2]=n},e}()
-e.InstructionEncoder=t}),e("@glimmer/low-level",["exports"],function(e){"use strict"
-function t(e){switch(7&e){case 0:return e>>3
-case 4:return-(e>>3)
-default:throw new Error("unreachable")}}function n(e){return e<0?Math.abs(e)<<3|4:e<<3|0}e.Stack=e.Storage=void 0
-var r=function(){function e(){this.array=[],this.next=0}return e.prototype.add=function(e){var t,n=this.next,r=this.array
-return n===r.length?this.next++:(t=r[n],this.next=t),this.array[n]=e,n},e.prototype.deref=function(e){return this.array[e]},e.prototype.drop=function(e){this.array[e]=this.next,this.next=e},e}(),i=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]
-this.vec=e}return e.prototype.clone=function(){return new e(this.vec.slice())},e.prototype.sliceFrom=function(t){return new e(this.vec.slice(t))},e.prototype.slice=function(t,n){return new e(this.vec.slice(t,n))},e.prototype.copy=function(e,t){this.vec[t]=this.vec[e]},e.prototype.writeRaw=function(e,t){this.vec[e]=t},e.prototype.writeSmi=function(e,t){this.vec[e]=n(t)},e.prototype.getRaw=function(e){return this.vec[e]},e.prototype.getSmi=function(e){return t(this.vec[e])},e.prototype.reset=function(){this.vec.length=0},e.prototype.len=function(){return this.vec.length},e}()
-e.Storage=r,e.Stack=i}),e("@glimmer/node",["exports","ember-babel","@glimmer/runtime"],function(e,t,n){"use strict"
-function r(e){var t=e.element,n=e.nextSibling
-return null===n?t.lastChild:n.previousSibling}e.serializeBuilder=e.NodeDOMTreeConstruction=void 0
-var i=function(e){function r(n){return(0,t.possibleConstructorReturn)(this,e.call(this,n))}return(0,t.inherits)(r,e),r.prototype.setupUselessElement=function(){},r.prototype.insertHTMLBefore=function(e,t,r){var i=t?t.previousSibling:e.lastChild,o=this.document.createRawHTMLSection(r)
-e.insertBefore(o,t)
-var s=i?i.nextSibling:e.firstChild,a=t?t.previousSibling:e.lastChild
-return new n.ConcreteBounds(e,s,a)},r.prototype.createElement=function(e){return this.document.createElement(e)},r.prototype.setAttribute=function(e,t,n){e.setAttribute(t,n)},r}(n.DOMTreeConstruction),o=function(e){function i(){var n=(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))
-return n.serializeBlockDepth=0,n}return(0,t.inherits)(i,e),i.prototype.__openBlock=function(){var t=this.serializeBlockDepth++
-this.__appendComment("%+b:"+t+"%"),e.prototype.__openBlock.call(this)},i.prototype.__closeBlock=function(){e.prototype.__closeBlock.call(this),this.__appendComment("%-b:"+--this.serializeBlockDepth+"%")},i.prototype.__appendHTML=function(t){var r,i=this.__appendComment("%glmr%")
-"TABLE"===this.element.tagName&&(r=t.indexOf("<"))>-1&&"tr"===t.slice(r+1,r+3)&&(t="<tbody>"+t+"</tbody>"),""===t?this.__appendComment("% %"):e.prototype.__appendHTML.call(this,t)
-var o=this.__appendComment("%glmr%")
-return new n.ConcreteBounds(this.element,i,o)},i.prototype.__appendText=function(t){var n=r(this)
-return""===t?this.__appendComment("% %"):(n&&3===n.nodeType&&this.__appendComment("%|%"),e.prototype.__appendText.call(this,t))},i.prototype.closeElement=function(){!0===this.element.needsExtraClose&&(this.element.needsExtraClose=!1,e.prototype.closeElement.call(this)),e.prototype.closeElement.call(this)},i.prototype.openElement=function(t){return"tr"===t&&"TBODY"!==this.element.tagName&&(this.openElement("tbody"),this.constructing.needsExtraClose=!0,this.flushElement()),e.prototype.openElement.call(this,t)},i.prototype.pushRemoteElement=function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=this.dom,o=i.createElement("script")
-o.setAttribute("glmr",n),i.insertBefore(t,o,r),e.prototype.pushRemoteElement.call(this,t,n,r)},i}(n.NewElementBuilder)
-e.NodeDOMTreeConstruction=i,e.serializeBuilder=function(e,t){return o.forInitialRender(e,t)}}),e("@glimmer/opcode-compiler",["exports","ember-utils","ember-babel","@glimmer/util","@glimmer/vm","@glimmer/wire-format","@glimmer/encoder","@glimmer/program"],function(e,t,n,r,i,o,s,a){"use strict"
-function u(){if(b)return b
-var e=b=new y
-e.add(m.Text,function(e,t){t.text(e[1])}),e.add(m.Comment,function(e,t){t.comment(e[1])}),e.add(m.CloseElement,function(e,t){t.closeElement()}),e.add(m.FlushElement,function(e,t){t.flushElement()}),e.add(m.Modifier,function(e,t){var n=t.referrer,r=e[1],i=e[2],o=e[3],s=t.compiler.resolveModifier(r,n)
-if(null===s)throw new Error("Compile Error "+r+" is not a modifier: Helpers may not be used in the element form.")
-t.modifier(s,i,o)}),e.add(m.StaticAttr,function(e,t){var n=e[1],r=e[2],i=e[3]
-t.staticAttr(n,i,r)}),e.add(m.DynamicAttr,function(e,t){c(e,!1,t)}),e.add(m.TrustingAttr,function(e,t){c(e,!0,t)}),e.add(m.OpenElement,function(e,t){t.openPrimitiveElement(e[1])}),e.add(m.OpenSplattedElement,function(e,t){t.setComponentAttrs(!0),t.putComponentOperations(),t.openPrimitiveElement(e[1])}),e.add(m.Component,function(e,t){var n,i,o,s=e[1],a=e[2],u=e[3],c=e[4],l=t.referrer,h=t.compiler.resolveLayoutForTag(s,l),d=h.handle,p=h.capabilities,f=h.compilable
-if(null===d||null===p)throw new Error("Compile Error: Cannot find component "+s)
-n=[[m.ClientSideStatement,g.SetComponentAttrs,!0]].concat(a,[[m.ClientSideStatement,g.SetComponentAttrs,!1]]),i=t.inlineBlock({statements:n,parameters:r.EMPTY_ARRAY}),o=t.template(c),f?(t.pushComponentDefinition(d),t.invokeStaticComponent(p,f,i,null,u,!1,o&&o)):(t.pushComponentDefinition(d),t.invokeComponent(p,i,null,u,!1,o&&o))}),e.add(m.Partial,function(e,t){var n=e[1],r=e[2],i=t.referrer
-t.replayableIf({args:function(){return t.expr(n),t.dup(),2},ifTrue:function(){t.invokePartial(i,t.evalSymbols(),r),t.popScope(),t.popFrame()}})}),e.add(m.Yield,function(e,t){var n=e[1],r=e[2]
-t.yield(n,r)}),e.add(m.AttrSplat,function(e,t){var n=e[1]
-t.yield(n,[]),t.didCreateElement(i.Register.s0),t.setComponentAttrs(!1)}),e.add(m.Debugger,function(e,t){var n=e[1]
-t.debugger(t.evalSymbols(),n)}),e.add(m.ClientSideStatement,function(e,n){t.compile(e,n)}),e.add(m.Append,function(e,t){var n=e[1],r=e[2]
-!0!==(t.compileInline(e)||n)&&t.guardedAppend(n,r)}),e.add(m.Block,function(e,t){var n=e[1],r=e[2],i=e[3],o=e[4],s=e[5],a=t.template(o),u=t.template(s)
-t.compileBlock(n,r,i,a&&a,u&&u)})
-var t=new y(1)
-return t.add(g.OpenComponentElement,function(e,t){t.putComponentOperations(),t.openPrimitiveElement(e[2])}),t.add(g.DidCreateElement,function(e,t){t.didCreateElement(i.Register.s0)}),t.add(g.SetComponentAttrs,function(e,t){t.setComponentAttrs(e[2])}),t.add(g.Debugger,function(){}),t.add(g.DidRenderLayout,function(e,t){t.didRenderLayout(i.Register.s0)}),e}function c(e,t,n){var r=e[1],i=e[2],o=e[3]
-n.expr(i),o?n.dynamicAttr(r,o,t):n.dynamicAttr(r,null,t)}function l(){if(C)return C
-var e=C=new y
-return e.add(m.Unknown,function(e,t){var n=t.compiler,r=t.referrer,i=t.containingLayout.asPartial,o=e[1],s=n.resolveHelper(o,r)
-null!==s?t.helper(s,null,null):i?t.resolveMaybeLocal(o):(t.getVariable(0),t.getProperty(o))}),e.add(m.Concat,function(e,t){var n,r=e[1]
-for(n=0;n<r.length;n++)t.expr(r[n])
-t.concat(r.length)}),e.add(m.Helper,function(e,t){var n,r,i=t.compiler,o=t.referrer,s=e[1],a=e[2],u=e[3]
-if("component"===s)return n=a[0],r=a.slice(1),void t.curryComponent(n,r,u,!0)
-var c=i.resolveHelper(s,o)
-if(null===c)throw new Error("Compile Error: "+s+" is not a helper")
-t.helper(c,a,u)}),e.add(m.Get,function(e,t){var n,r=e[1],i=e[2]
-for(t.getVariable(r),n=0;n<i.length;n++)t.getProperty(i[n])}),e.add(m.MaybeLocal,function(e,t){var n,r,i=e[1]
-for(t.containingLayout.asPartial?(n=i[0],i=i.slice(1),t.resolveMaybeLocal(n)):t.getVariable(0),r=0;r<i.length;r++)t.getProperty(i[r])}),e.add(m.Undefined,function(e,t){return t.pushPrimitiveReference(void 0)}),e.add(m.HasBlock,function(e,t){t.hasBlock(e[1])}),e.add(m.HasBlockParams,function(e,t){t.hasBlockParams(e[1])}),e}function h(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new A,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new _
-return e.add("if",function(e,t,n,r,i){if(!e||1!==e.length)throw new Error("SYNTAX ERROR: #if requires a single argument")
-i.replayableIf({args:function(){return i.expr(e[0]),i.toBoolean(),1},ifTrue:function(){i.invokeStaticBlock(n)},ifFalse:function(){r&&i.invokeStaticBlock(r)}})}),e.add("unless",function(e,t,n,r,i){if(!e||1!==e.length)throw new Error("SYNTAX ERROR: #unless requires a single argument")
-i.replayableIf({args:function(){return i.expr(e[0]),i.toBoolean(),1},ifTrue:function(){r&&i.invokeStaticBlock(r)},ifFalse:function(){i.invokeStaticBlock(n)}})}),e.add("with",function(e,t,n,r,i){if(!e||1!==e.length)throw new Error("SYNTAX ERROR: #with requires a single argument")
-i.replayableIf({args:function(){return i.expr(e[0]),i.dup(),i.toBoolean(),2},ifTrue:function(){i.invokeStaticBlock(n,1)},ifFalse:function(){r&&i.invokeStaticBlock(r)}})}),e.add("each",function(e,t,n,r,o){o.replayable({args:function(){return t&&"key"===t[0][0]?o.expr(t[1][0]):o.pushPrimitiveReference(null),o.expr(e[0]),2},body:function(){o.putIterator(),o.jumpUnless("ELSE"),o.pushFrame(),o.dup(i.Register.fp,1),o.returnTo("ITER"),o.enterList("BODY"),o.label("ITER"),o.iterate("BREAK"),o.label("BODY"),o.invokeStaticBlock(n,2),o.pop(2),o.jump("FINALLY"),o.label("BREAK"),o.exitList(),o.popFrame(),o.jump("FINALLY"),o.label("ELSE"),r&&o.invokeStaticBlock(r)}})}),e.add("in-element",function(e,t,n,r,i){if(!e||1!==e.length)throw new Error("SYNTAX ERROR: #in-element requires a single argument")
-i.replayableIf({args:function(){var n,r,o=t[0],s=t[1]
-for(n=0;n<o.length;n++){if("nextSibling"!==(r=o[n])&&"guid"!==r)throw new Error("SYNTAX ERROR: #in-element does not take a `"+o[0]+"` option")
-i.expr(s[n])}return i.expr(e[0]),i.dup(),4},ifTrue:function(){i.pushRemoteElement(),i.invokeStaticBlock(n),i.popRemoteElement()}})}),e.add("-with-dynamic-vars",function(e,t,n,r,i){var o,s
-t?(o=t[0],s=t[1],i.compileParams(s),i.pushDynamicScope(),i.bindDynamicScope(o),i.invokeStaticBlock(n),i.popDynamicScope()):i.invokeStaticBlock(n)}),e.add("component",function(e,t,n,r,i){var o=e[0]
-if("string"!=typeof o||!i.staticComponentHelper(e[0],t,n)){var s=e[0],a=e.slice(1)
-i.dynamicComponent(s,a,t,!0,n,r)}}),t.add("component",function(e,t,n,r){var i=t&&t[0]
-if("string"==typeof i&&r.staticComponentHelper(i,n,null))return!0
-var o=t[0],s=t.slice(1)
-return r.dynamicComponent(o,s,n,!0,null,null),!0}),{blocks:e,inlines:t}}function d(e,t){var n,r=u()
-for(n=0;n<e.length;n++)r.compile(e[n],t)
-return t.commit()}function p(e,t){return new w(t,{block:{statements:e.block.statements,parameters:r.EMPTY_ARRAY},containingLayout:e})}function f(e){var t=e.id,n=e.meta,i=e.block,o=void 0,s=t||"client-"+L++
-return{id:s,meta:n,create:function(e,t){var a=t?(0,r.assign)({},t,n):n
-return o||(o=JSON.parse(i)),new D(e,{id:s,block:o,referrer:a})}}}e.AbstractCompiler=e.compile=e.LazyCompiler=e.PLACEHOLDER_HANDLE=e.WrappedBuilder=e.logOpcode=e.debugSlice=e.debug=e.templateFactory=e.PartialDefinition=e.StdOpcodeBuilder=e.OpcodeBuilder=e.EagerOpcodeBuilder=e.LazyOpcodeBuilder=e.CompilableProgram=e.CompilableBlock=e.Macros=e.ATTRS_BLOCK=void 0
-var g;(function(e){e[e.OpenComponentElement=0]="OpenComponentElement",e[e.DidCreateElement=1]="DidCreateElement",e[e.SetComponentAttrs=2]="SetComponentAttrs",e[e.DidRenderLayout=3]="DidRenderLayout",e[e.Debugger=4]="Debugger"})(g||(g={}))
-var m=o.Ops,v="&attrs",y=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0
-this.offset=e,this.names=(0,r.dict)(),this.funcs=[]}return e.prototype.add=function(e,t){this.funcs.push(t),this.names[e]=this.funcs.length-1},e.prototype.compile=function(e,t){var n=e[this.offset],r=this.names[n];(0,this.funcs[r])(e,t)},e}(),b=void 0,C=void 0,A=function(){function e(){this.names=(0,r.dict)(),this.funcs=[]}return e.prototype.add=function(e,t){this.funcs.push(t),this.names[e]=this.funcs.length-1},e.prototype.addMissing=function(e){this.missing=e},e.prototype.compile=function(e,t,n,r,i,o){var s=this.names[e]
-void 0===s?(0,this.missing)(e,t,n,r,i,o):(0,this.funcs[s])(t,n,r,i,o)},e}(),_=function(){function e(){this.names=(0,r.dict)(),this.funcs=[]}return e.prototype.add=function(e,t){this.funcs.push(t),this.names[e]=this.funcs.length-1},e.prototype.addMissing=function(e){this.missing=e},e.prototype.compile=function(e,t){var n,r,i,o,s=e[1]
-if(!Array.isArray(s))return["expr",s]
-var a=void 0,u=void 0,c=void 0
-if(s[0]===m.Helper)a=s[1],u=s[2],c=s[3]
-else{if(s[0]!==m.Unknown)return["expr",s]
-a=s[1],u=c=null}var l=this.names[a]
-return void 0===l&&this.missing?(n=this.missing,r=n(a,u,c,t),!1===r?["expr",s]:r):void 0!==l?(i=this.funcs[l],o=i(a,u,c,t),!1===o?["expr",s]:o):["expr",s]},e}(),I=function(){function e(e,t){this.compiler=e,this.layout=t,this.compiled=null}return e.prototype.compile=function(){if(null!==this.compiled)return this.compiled
-this.compiled=-1
-var e=this.layout.block.statements
-return this.compiled=this.compiler.add(e,this.layout)},(0,n.createClass)(e,[{key:"symbolTable",get:function(){return this.layout.block}}]),e}(),w=function(){function e(e,t){this.compiler=e,this.parsed=t,this.compiled=null}return e.prototype.compile=function(){if(null!==this.compiled)return this.compiled
-this.compiled=-1
-var e=this.parsed,t=e.block.statements,n=e.containingLayout
-return this.compiled=this.compiler.add(t,n)},(0,n.createClass)(e,[{key:"symbolTable",get:function(){return this.parsed.block}}]),e}(),x=function(){function e(e,t,n){this.main=e,this.trustingGuardedAppend=t,this.cautiousGuardedAppend=n}return e.compile=function(t){return new e(this.std(t,function(e){return e.main()}),this.std(t,function(e){return e.stdAppend(!0)}),this.std(t,function(e){return e.stdAppend(!1)}))},e.std=function(e,t){return T.build(e,t)},e.prototype.getAppend=function(e){return e?this.trustingGuardedAppend:this.cautiousGuardedAppend},e}(),k=function(){function e(e,t,n){this.macros=e,this.program=t,this.resolver=n,this.initialize()}return e.prototype.initialize=function(){this.stdLib=x.compile(this)},e.prototype.compileInline=function(e,t){return this.macros.inlines.compile(e,t)},e.prototype.compileBlock=function(e,t,n,r,i,o){this.macros.blocks.compile(e,t,n,r,i,o)},e.prototype.add=function(e,t){return d(e,this.builderFor(t))},e.prototype.commit=function(e,t){var n,r,i=this.program.heap,o=i.malloc()
-for(n=0;n<t.length;n++)r=t[n],"function"==typeof r?i.pushPlaceholder(r):i.push(r)
-return i.finishMalloc(o,e),o},e.prototype.resolveLayoutForTag=function(e,t){var n=this.resolver,r=n.lookupComponentDefinition(e,t)
-return null===r?{handle:null,capabilities:null,compilable:null}:this.resolveLayoutForHandle(r)},e.prototype.resolveLayoutForHandle=function(e){var t=this.resolver,n=t.getCapabilities(e),r=null
-return n.dynamicLayout||(r=t.getLayout(e)),{handle:e,capabilities:n,compilable:r}},e.prototype.resolveModifier=function(e,t){return this.resolver.lookupModifier(e,t)},e.prototype.resolveHelper=function(e,t){return this.resolver.lookupHelper(e,t)},(0,n.createClass)(e,[{key:"constants",get:function(){return this.program.constants}}]),e}(),j=function(){function e(e,t){this.compiler=e,this.layout=t,this.compiled=null
-var n=t.block
-this.symbolTable={hasEval:n.hasEval,symbols:n.symbols.concat([v])}}return e.prototype.compile=function(){if(null!==this.compiled)return this.compiled
-var e=this.compiler,t=this.layout,n=e.builderFor(t)
-n.startLabels(),n.fetch(i.Register.s1),n.getComponentTagName(i.Register.s0),n.primitiveReference(),n.dup(),n.load(i.Register.s1),n.jumpUnless("BODY"),n.fetch(i.Register.s1),n.putComponentOperations(),n.openDynamicElement(),n.didCreateElement(i.Register.s0),n.flushElement(),n.label("BODY"),n.invokeStaticBlock(p(t,e)),n.fetch(i.Register.s1),n.jumpUnless("END"),n.closeElement(),n.label("END"),n.load(i.Register.s1),n.stopLabels()
-var r=n.commit()
-return this.compiled=r},e}(),E=function(){function e(e){this.builder=e}return e.prototype.static=function(e,t){var n,r,i,o=t[0],s=t[1],a=t[2],u=t[3],c=this.builder
-null!==e&&(n=c.compiler.resolveLayoutForHandle(e),r=n.capabilities,i=n.compilable,i?(c.pushComponentDefinition(e),c.invokeStaticComponent(r,i,null,o,s,!1,a,u)):(c.pushComponentDefinition(e),c.invokeComponent(r,null,o,s,!1,a,u)))},e}(),S=function(){function e(){this.labels=(0,r.dict)(),this.targets=[]}return e.prototype.label=function(e,t){this.labels[e]=t},e.prototype.target=function(e,t){this.targets.push({at:e,target:t})},e.prototype.patch=function(e){var t,n,r,i,o,s=this.targets,a=this.labels
-for(t=0;t<s.length;t++)n=s[t],r=n.at,i=n.target,o=a[i]-r,e.patch(r,o)},e}(),T=function(){function e(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0
-this.size=t,this.encoder=new s.InstructionEncoder([]),this.labelsStack=new r.Stack,this.compiler=e}return e.build=function(t,n){var r=new e(t)
-return n(r),r.commit()},e.prototype.push=function(e){switch(arguments.length){case 1:return this.encoder.encode(e,0)
-case 2:return this.encoder.encode(e,0,arguments[1])
-case 3:return this.encoder.encode(e,0,arguments[1],arguments[2])
-default:return this.encoder.encode(e,0,arguments[1],arguments[2],arguments[3])}},e.prototype.pushMachine=function(e){switch(arguments.length){case 1:return this.encoder.encode(e,1024)
-case 2:return this.encoder.encode(e,1024,arguments[1])
-case 3:return this.encoder.encode(e,1024,arguments[1],arguments[2])
-default:return this.encoder.encode(e,1024,arguments[1],arguments[2],arguments[3])}},e.prototype.commit=function(){return this.pushMachine(24),this.compiler.commit(this.size,this.encoder.buffer)},e.prototype.reserve=function(e){this.encoder.encode(e,0,-1)},e.prototype.reserveWithOperand=function(e,t){this.encoder.encode(e,0,-1,t)},e.prototype.reserveMachine=function(e){this.encoder.encode(e,1024,-1)},e.prototype.main=function(){this.push(68,i.Register.s0),this.invokePreparedComponent(!1,!1,!0)},e.prototype.appendHTML=function(){this.push(28)},e.prototype.appendSafeHTML=function(){this.push(29)},e.prototype.appendDocumentFragment=function(){this.push(30)},e.prototype.appendNode=function(){this.push(31)},e.prototype.appendText=function(){this.push(32)},e.prototype.beginComponentTransaction=function(){this.push(91)},e.prototype.commitComponentTransaction=function(){this.push(92)},e.prototype.pushDynamicScope=function(){this.push(44)},e.prototype.popDynamicScope=function(){this.push(45)},e.prototype.pushRemoteElement=function(){this.push(41)},e.prototype.popRemoteElement=function(){this.push(42)},e.prototype.pushRootScope=function(e,t){this.push(20,e,t?1:0)},e.prototype.pushVirtualRootScope=function(e){this.push(21,e)},e.prototype.pushChildScope=function(){this.push(22)},e.prototype.popScope=function(){this.push(23)},e.prototype.prepareArgs=function(e){this.push(79,e)},e.prototype.createComponent=function(e,t){this.push(81,0|t,e)},e.prototype.registerComponentDestructor=function(e){this.push(82,e)},e.prototype.putComponentOperations=function(){this.push(83)},e.prototype.getComponentSelf=function(e){this.push(84,e)},e.prototype.getComponentTagName=function(e){this.push(85,e)},e.prototype.getComponentLayout=function(e){this.push(86,e)},e.prototype.setupForEval=function(e){this.push(87,e)},e.prototype.invokeComponentLayout=function(e){this.push(90,e)},e.prototype.didCreateElement=function(e){this.push(93,e)},e.prototype.didRenderLayout=function(e){this.push(94,e)},e.prototype.pushFrame=function(){this.pushMachine(57)},e.prototype.popFrame=function(){this.pushMachine(58)},e.prototype.pushSmallFrame=function(){this.pushMachine(59)},e.prototype.popSmallFrame=function(){this.pushMachine(60)},e.prototype.invokeVirtual=function(){this.pushMachine(49)},e.prototype.invokeYield=function(){this.push(51)},e.prototype.toBoolean=function(){this.push(63)},e.prototype.invokePreparedComponent=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null
-this.beginComponentTransaction(),this.pushDynamicScope(),this.createComponent(i.Register.s0,e),r&&r(),this.registerComponentDestructor(i.Register.s0),this.getComponentSelf(i.Register.s0),this.pushVirtualRootScope(i.Register.s0),this.setVariable(0),this.setupForEval(i.Register.s0),n&&this.setNamedVariables(i.Register.s0),t&&this.setBlocks(i.Register.s0),this.pop(),this.invokeComponentLayout(i.Register.s0),this.didRenderLayout(i.Register.s0),this.popFrame(),this.popScope(),this.popDynamicScope(),this.commitComponentTransaction()},e.prototype.compileInline=function(e){return this.compiler.compileInline(e,this)},e.prototype.compileBlock=function(e,t,n,r,i){this.compiler.compileBlock(e,t,n,r,i,this)},e.prototype.label=function(e){this.labels.label(e,this.nextPos)},e.prototype.startLabels=function(){this.labelsStack.push(new S)},e.prototype.stopLabels=function(){this.labelsStack.pop().patch(this.encoder)},e.prototype.pushCurriedComponent=function(){this.push(74)},e.prototype.pushDynamicComponentInstance=function(){this.push(73)},e.prototype.openDynamicElement=function(){this.push(34)},e.prototype.flushElement=function(){this.push(38)},e.prototype.closeElement=function(){this.push(39)},e.prototype.putIterator=function(){this.push(66)},e.prototype.enterList=function(e){this.reserve(64),this.labels.target(this.pos,e)},e.prototype.exitList=function(){this.push(65)},e.prototype.iterate=function(e){this.reserve(67),this.labels.target(this.pos,e)},e.prototype.setNamedVariables=function(e){this.push(2,e)},e.prototype.setBlocks=function(e){this.push(3,e)},e.prototype.setVariable=function(e){this.push(4,e)},e.prototype.setBlock=function(e){this.push(5,e)},e.prototype.getVariable=function(e){this.push(6,e)},e.prototype.getBlock=function(e){this.push(8,e)},e.prototype.hasBlock=function(e){this.push(9,e)},e.prototype.concat=function(e){this.push(11,e)},e.prototype.load=function(e){this.push(18,e)},e.prototype.fetch=function(e){this.push(19,e)},e.prototype.dup=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i.Register.sp,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0
-return this.push(16,e,t)},e.prototype.pop=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1
-return this.push(17,e)},e.prototype.returnTo=function(e){this.reserveMachine(25),this.labels.target(this.pos,e)},e.prototype.primitiveReference=function(){this.push(14)},e.prototype.reifyU32=function(){this.push(15)},e.prototype.enter=function(e){this.push(61,e)},e.prototype.exit=function(){this.push(62)},e.prototype.return=function(){this.pushMachine(24)},e.prototype.jump=function(e){this.reserveMachine(52),this.labels.target(this.pos,e)},e.prototype.jumpIf=function(e){this.reserve(53),this.labels.target(this.pos,e)},e.prototype.jumpUnless=function(e){this.reserve(54),this.labels.target(this.pos,e)},e.prototype.jumpEq=function(e,t){this.reserveWithOperand(55,e),this.labels.target(this.pos,t)},e.prototype.assertSame=function(){this.push(56)},e.prototype.pushEmptyArgs=function(){this.push(77)},e.prototype.switch=function(e,t){function n(e,t){s.push({match:e,callback:t,label:"CLAUSE"+a++})}var r,i,o=this,s=[],a=0
-for(t(n),this.enter(2),this.assertSame(),this.reifyU32(),this.startLabels(),s.slice(0,-1).forEach(function(e){return o.jumpEq(e.match,e.label)}),r=s.length-1;r>=0;r--)i=s[r],this.label(i.label),this.pop(2),i.callback(),0!==r&&this.jump("END")
-this.label("END"),this.stopLabels(),this.exit()},e.prototype.stdAppend=function(e){var t=this
-this.switch(this.contentType(),function(n){n(1,function(){e?(t.assertSame(),t.appendHTML()):t.appendText()}),n(0,function(){t.pushCurriedComponent(),t.pushDynamicComponentInstance(),t.invokeBareComponent()}),n(3,function(){t.assertSame(),t.appendSafeHTML()}),n(4,function(){t.assertSame(),t.appendDocumentFragment()}),n(5,function(){t.assertSame(),t.appendNode()})})},e.prototype.populateLayout=function(e){this.push(89,e)},e.prototype.invokeBareComponent=function(){var e=this
-this.fetch(i.Register.s0),this.dup(i.Register.sp,1),this.load(i.Register.s0),this.pushFrame(),this.pushEmptyArgs(),this.prepareArgs(i.Register.s0),this.invokePreparedComponent(!1,!1,!0,function(){e.getComponentLayout(i.Register.s0),e.populateLayout(i.Register.s0)}),this.load(i.Register.s0)},e.prototype.isComponent=function(){this.push(69)},e.prototype.contentType=function(){this.push(70)},e.prototype.pushBlockScope=function(){this.push(47)},(0,n.createClass)(e,[{key:"pos",get:function(){return this.encoder.typePos}},{key:"nextPos",get:function(){return this.encoder.size}},{key:"labels",get:function(){return this.labelsStack.current}}]),e}(),P=function(e){function t(t,r){var i=(0,n.possibleConstructorReturn)(this,e.call(this,t,r?r.block.symbols.length:0))
-return i.containingLayout=r,i.component=new E(i),i.expressionCompiler=l(),i.isComponentAttrs=!1,i.constants=t.constants,i.stdLib=t.stdLib,i}return(0,n.inherits)(t,e),t.prototype.setComponentAttrs=function(e){this.isComponentAttrs=e},t.prototype.expr=function(e){Array.isArray(e)?this.expressionCompiler.compile(e,this):this.pushPrimitiveReference(e)},t.prototype.pushArgs=function(e,t){var n=this.constants.stringArray(e)
-this.push(76,n,t)},t.prototype.pushYieldableBlock=function(e){this.pushSymbolTable(e&&e.symbolTable),this.pushBlockScope(),this.pushBlock(e)},t.prototype.curryComponent=function(e,t,n,r){var o=this.containingLayout.referrer
-this.pushFrame(),this.compileArgs(t,n,null,r),this.push(80),this.expr(e),this.push(71,this.constants.serializable(o)),this.popFrame(),this.fetch(i.Register.v0)},t.prototype.pushSymbolTable=function(e){var t
-e?(t=this.constants.serializable(e),this.push(48,t)):this.primitive(null)},t.prototype.invokeComponent=function(e,t,n,r,o,s){var a=this,u=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,c=arguments[7]
-this.fetch(i.Register.s0),this.dup(i.Register.sp,1),this.load(i.Register.s0),this.pushFrame()
-var l=!0===e||e.prepareArgs||!(!r||0===r[0].length)
-this.compileArgs(n,r,{main:s,else:u,attrs:t},o),this.prepareArgs(i.Register.s0),this.invokePreparedComponent(null!==s,!!(s||u||t),l,function(){c?(a.pushSymbolTable(c.symbolTable),a.pushLayout(c),a.resolveLayout()):a.getComponentLayout(i.Register.s0),a.populateLayout(i.Register.s0)}),this.load(i.Register.s0)},t.prototype.invokeStaticComponent=function(e,t,n,o,s,a,u){var c,l,h,d,p,f,g,m,y,b,C,A=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,_=t.symbolTable
-if(_.hasEval||e.prepareArgs)return void this.invokeComponent(e,n,o,s,a,u,A,t)
-this.fetch(i.Register.s0),this.dup(i.Register.sp,1),this.load(i.Register.s0)
-var I=_.symbols
-e.createArgs&&(this.pushFrame(),this.compileArgs(null,s,null,a)),this.beginComponentTransaction(),e.dynamicScope&&this.pushDynamicScope(),e.createInstance&&this.createComponent(i.Register.s0,null!==u),e.createArgs&&this.popFrame(),this.pushFrame(),this.registerComponentDestructor(i.Register.s0)
-var w=[]
-for(this.getComponentSelf(i.Register.s0),w.push({symbol:0,isBlock:!1}),c=0;c<I.length;c++)switch(l=I[c],l.charAt(0)){case"&":if(h=null,"&default"===l)h=u
-else if("&inverse"===l)h=A
-else{if(l!==v)throw(0,r.unreachable)()
-h=n}h?(this.pushYieldableBlock(h),w.push({symbol:c+1,isBlock:!0})):(this.pushYieldableBlock(null),w.push({symbol:c+1,isBlock:!0}))
-break
-case"@":if(!s)break
-d=s[0],p=s[1],f=l,a&&(f=l.slice(1)),g=d.indexOf(f),-1!==g&&(this.expr(p[g]),w.push({symbol:c+1,isBlock:!1}))}for(this.pushRootScope(I.length+1,!!(u||A||n)),m=w.length-1;m>=0;m--)y=w[m],b=y.symbol,C=y.isBlock,C?this.setBlock(b):this.setVariable(b)
-this.invokeStatic(t),e.createInstance&&this.didRenderLayout(i.Register.s0),this.popFrame(),this.popScope(),e.dynamicScope&&this.popDynamicScope(),this.commitComponentTransaction(),this.load(i.Register.s0)},t.prototype.dynamicComponent=function(e,t,n,r,i){var o=this,s=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null
-this.replayable({args:function(){return o.expr(e),o.dup(),2},body:function(){o.jumpUnless("ELSE"),o.resolveDynamicComponent(o.containingLayout.referrer),o.pushDynamicComponentInstance(),o.invokeComponent(!0,null,t,n,r,i,s),o.label("ELSE")}})},t.prototype.yield=function(e,t){this.compileArgs(t,null,null,!1),this.getBlock(e),this.resolveBlock(),this.invokeYield(),this.popScope(),this.popFrame()},t.prototype.guardedAppend=function(e,t){this.pushFrame(),this.expr(e),this.pushMachine(50,this.stdLib.getAppend(t)),this.popFrame()},t.prototype.invokeStaticBlock=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=e.symbolTable.parameters,o=r.length,s=Math.min(n,o)
-if(this.pushFrame(),s)for(this.pushChildScope(),t=0;t<s;t++)this.dup(i.Register.fp,n-t),this.setVariable(r[t])
-this.pushBlock(e),this.resolveBlock(),this.invokeVirtual(),s&&this.popScope(),this.popFrame()},t.prototype.string=function(e){return this.constants.string(e)},t.prototype.names=function(e){var t,n,r=[]
-for(t=0;t<e.length;t++)n=e[t],r[t]=this.constants.string(n)
-return this.constants.array(r)},t.prototype.symbols=function(e){return this.constants.array(e)},t.prototype.primitive=function(e){var t=0,n=void 0
-switch(typeof e){case"number":e%1==0?e>-1?n=e:(n=this.constants.number(e),t=4):(n=this.constants.number(e),t=1)
-break
-case"string":n=this.string(e),t=2
-break
-case"boolean":n=0|e,t=3
-break
-case"object":n=2,t=3
-break
-case"undefined":n=3,t=3
-break
-default:throw new Error("Invalid primitive passed to pushPrimitive")}var r=this.sizeImmediate(n<<3|t,n)
-this.push(13,r)},t.prototype.sizeImmediate=function(e,t){return e>=65535||e<0?this.constants.number(t)<<3|5:e},t.prototype.pushPrimitiveReference=function(e){this.primitive(e),this.primitiveReference()},t.prototype.pushComponentDefinition=function(e){this.push(72,this.constants.handle(e))},t.prototype.resolveDynamicComponent=function(e){this.push(75,this.constants.serializable(e))},t.prototype.staticComponentHelper=function(e,t,n){var r,i=this.compiler.resolveLayoutForTag(e,this.referrer),o=i.handle,s=i.capabilities,a=i.compilable
-if(null!==o&&null!==s&&a){if(t)for(r=0;r<t.length;r+=2)t[r][0]="@"+t[r][0]
-return this.pushComponentDefinition(o),this.invokeStaticComponent(s,a,null,null,t,!1,n&&n),!0}return!1},t.prototype.invokePartial=function(e,t,n){var r=this.constants.serializable(e),i=this.constants.stringArray(t),o=this.constants.array(n)
-this.push(95,r,i,o)},t.prototype.resolveMaybeLocal=function(e){this.push(96,this.string(e))},t.prototype.debugger=function(e,t){this.push(97,this.constants.stringArray(e),this.constants.array(t))},t.prototype.text=function(e){this.push(26,this.constants.string(e))},t.prototype.openPrimitiveElement=function(e){this.push(33,this.constants.string(e))},t.prototype.modifier=function(e,t,n){this.pushFrame(),this.compileArgs(t,n,null,!0),this.push(40,this.constants.handle(e)),this.popFrame()},t.prototype.comment=function(e){var t=this.constants.string(e)
-this.push(27,t)},t.prototype.dynamicAttr=function(e,t,n){var r=this.constants.string(e),i=t?this.constants.string(t):0
-this.isComponentAttrs?this.push(37,r,!0===n?1:0,i):this.push(36,r,!0===n?1:0,i)},t.prototype.staticAttr=function(e,t,n){var r,i=this.constants.string(e),o=t?this.constants.string(t):0
-this.isComponentAttrs?(this.pushPrimitiveReference(n),this.push(37,i,1,o)):(r=this.constants.string(n),this.push(35,i,r,o))},t.prototype.hasBlockParams=function(e){this.getBlock(e),this.resolveBlock(),this.push(10)},t.prototype.getProperty=function(e){this.push(7,this.string(e))},t.prototype.helper=function(e,t,n){this.pushFrame(),this.compileArgs(t,n,null,!0),this.push(1,this.constants.handle(e)),this.popFrame(),this.fetch(i.Register.v0)},t.prototype.bindDynamicScope=function(e){this.push(43,this.names(e))},t.prototype.replayable=function(e){var t=e.args,n=e.body
-this.startLabels(),this.pushFrame(),this.returnTo("ENDINITIAL")
-var r=t()
-this.enter(r),n(),this.label("FINALLY"),this.exit(),this.return(),this.label("ENDINITIAL"),this.popFrame(),this.stopLabels()},t.prototype.replayableIf=function(e){var t=this,n=e.args,r=e.ifTrue,i=e.ifFalse
-this.replayable({args:n,body:function(){t.jumpUnless("ELSE"),r(),t.jump("FINALLY"),t.label("ELSE"),i&&i()}})},t.prototype.inlineBlock=function(e){return new w(this.compiler,{block:e,containingLayout:this.containingLayout})},t.prototype.evalSymbols=function(){var e=this.containingLayout.block
-return e.hasEval?e.symbols:null},t.prototype.compileParams=function(e){var t
-if(!e)return 0
-for(t=0;t<e.length;t++)this.expr(e[t])
-return e.length},t.prototype.compileArgs=function(e,t,n,i){n&&(this.pushYieldableBlock(n.main),this.pushYieldableBlock(n.else),this.pushYieldableBlock(n.attrs))
-var o,s,a=this.compileParams(e),u=a<<4
-i&&(u|=8),n&&(u|=7)
-var c=r.EMPTY_ARRAY
-if(t)for(c=t[0],o=t[1],s=0;s<o.length;s++)this.expr(o[s])
-this.pushArgs(c,u)},t.prototype.template=function(e){return e?this.inlineBlock(e):null},(0,n.createClass)(t,[{key:"referrer",get:function(){return this.containingLayout&&this.containingLayout.referrer}}]),t}(T),O=function(e){function t(){return(0,n.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,n.inherits)(t,e),t.prototype.pushBlock=function(e){e?this.pushOther(e):this.primitive(null)},t.prototype.resolveBlock=function(){this.push(46)},t.prototype.pushLayout=function(e){e?this.pushOther(e):this.primitive(null)},t.prototype.resolveLayout=function(){this.push(46)},t.prototype.invokeStatic=function(e){this.pushOther(e),this.push(46),this.pushMachine(49)},t.prototype.pushOther=function(e){this.push(12,this.other(e))},t.prototype.other=function(e){return this.constants.other(e)},t}(P),R=function(e){function t(){return(0,n.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,n.inherits)(t,e),t.prototype.pushBlock=function(e){var t=e?e.compile():null
-this.primitive(t)},t.prototype.resolveBlock=function(){},t.prototype.pushLayout=function(e){e?this.primitive(e.compile()):this.primitive(null)},t.prototype.resolveLayout=function(){},t.prototype.invokeStatic=function(e){var t=e.compile();-1===t?this.pushMachine(50,function(){return e.compile()}):this.pushMachine(50,t)},t}(P),N=function(e){function t(t,r,i){var o=new a.LazyConstants(r),s=new a.Program(o)
-return(0,n.possibleConstructorReturn)(this,e.call(this,i,s,t))}return(0,n.inherits)(t,e),t.prototype.builderFor=function(e){return new O(this,e)},t}(k),M=function(){function e(e,t){this.name=e,this.template=t}return e.prototype.getPartial=function(){var e=this.template.asPartial(),t=e.compile()
-return{symbolTable:e.symbolTable,handle:t}},e}(),L=0,D=function(){function e(e,t){this.compiler=e,this.parsedLayout=t,this.layout=null,this.partial=null,this.wrappedLayout=null
-var n=t.block
-this.symbols=n.symbols,this.hasEval=n.hasEval,this.referrer=t.referrer,this.id=t.id||"client-"+L++}return e.prototype.asLayout=function(){return this.layout?this.layout:this.layout=new I(this.compiler,(0,t.assign)({},this.parsedLayout,{asPartial:!1}))},e.prototype.asPartial=function(){return this.partial?this.partial:this.layout=new I(this.compiler,(0,t.assign)({},this.parsedLayout,{asPartial:!0}))},e.prototype.asWrappedLayout=function(){return this.wrappedLayout?this.wrappedLayout:this.wrappedLayout=new j(this.compiler,(0,t.assign)({},this.parsedLayout,{asPartial:!1}))},e}()
-e.ATTRS_BLOCK=v,e.Macros=function(){var e=h(),t=e.blocks,n=e.inlines
-this.blocks=t,this.inlines=n},e.CompilableBlock=w,e.CompilableProgram=I,e.LazyOpcodeBuilder=O,e.EagerOpcodeBuilder=R,e.OpcodeBuilder=P,e.StdOpcodeBuilder=T,e.PartialDefinition=M,e.templateFactory=f,e.debug=function(e,t,n){for(i=arguments.length,o=Array(i>3?i-3:0),s=3;s<i;s++)o[s-3]=arguments[s]
-var i,o,s
-throw(0,r.unreachable)("Missing Opcode Metadata for "+n)},e.debugSlice=function(){},e.logOpcode=function(e,t){var n,r=e
-return t&&(n=Object.keys(t).map(function(e){return" "+e+"="+void t[e]}).join(""),r+=n),"("+r+")"},e.WrappedBuilder=j,e.PLACEHOLDER_HANDLE=-1,e.LazyCompiler=N,e.compile=d,e.AbstractCompiler=k}),e("@glimmer/program",["exports","ember-babel","@glimmer/util"],function(e,t){"use strict"
-function n(e,t,n){return e|t<<16|n<<30}function r(e,t){return e|t<<30}function i(e,t,n){if(void 0!==e.slice)return e.slice(t,n)
-for(var r=new Uint16Array(n);t<n;t++)r[t]=e[t]
-return r}e.Opcode=e.Program=e.RuntimeProgram=e.WriteOnlyProgram=e.Heap=e.LazyConstants=e.Constants=e.RuntimeConstants=e.WriteOnlyConstants=e.WELL_KNOWN_EMPTY_ARRAY_POSITION=void 0
-var o={},s=Object.freeze([]),a=function(){function e(){this.strings=[],this.arrays=[s],this.tables=[],this.handles=[],this.resolved=[],this.numbers=[]}return e.prototype.string=function(e){var t=this.strings.indexOf(e)
-return t>-1?t:this.strings.push(e)-1},e.prototype.stringArray=function(e){var t,n=new Array(e.length)
-for(t=0;t<e.length;t++)n[t]=this.string(e[t])
-return this.array(n)},e.prototype.array=function(e){if(0===e.length)return 0
-var t=this.arrays.indexOf(e)
-return t>-1?t:this.arrays.push(e)-1},e.prototype.handle=function(e){var t=this.handles.indexOf(e)
-return t>-1?t:(this.resolved.push(o),this.handles.push(e)-1)},e.prototype.serializable=function(e){var t=JSON.stringify(e),n=this.strings.indexOf(t)
-return n>-1?n:this.strings.push(t)-1},e.prototype.number=function(e){var t=this.numbers.indexOf(e)
-return t>-1?t:this.numbers.push(e)-1},e.prototype.toPool=function(){return{strings:this.strings,arrays:this.arrays,handles:this.handles,numbers:this.numbers}},e}(),u=function(){function e(e,t){this.resolver=e,this.strings=t.strings,this.arrays=t.arrays,this.handles=t.handles,this.resolved=this.handles.map(function(){return o}),this.numbers=t.numbers}return e.prototype.getString=function(e){return this.strings[e]},e.prototype.getNumber=function(e){return this.numbers[e]},e.prototype.getStringArray=function(e){var t,n,r=this.getArray(e),i=new Array(r.length)
-for(t=0;t<r.length;t++)n=r[t],i[t]=this.getString(n)
-return i},e.prototype.getArray=function(e){return this.arrays[e]},e.prototype.resolveHandle=function(e){var t,n=this.resolved[e]
-return n===o&&(t=this.handles[e],n=this.resolved[e]=this.resolver.resolve(t)),n},e.prototype.getSerializable=function(e){return JSON.parse(this.strings[e])},e}(),c=function(e){function n(n,r){var i=(0,t.possibleConstructorReturn)(this,e.call(this))
-return i.resolver=n,r&&(i.strings=r.strings,i.arrays=r.arrays,i.handles=r.handles,i.resolved=i.handles.map(function(){return o}),i.numbers=r.numbers),i}return(0,t.inherits)(n,e),n.prototype.getNumber=function(e){return this.numbers[e]},n.prototype.getString=function(e){return this.strings[e]},n.prototype.getStringArray=function(e){var t,n,r=this.getArray(e),i=new Array(r.length)
-for(t=0;t<r.length;t++)n=r[t],i[t]=this.getString(n)
-return i},n.prototype.getArray=function(e){return this.arrays[e]},n.prototype.resolveHandle=function(e){var t,n=this.resolved[e]
-return n===o&&(t=this.handles[e],n=this.resolved[e]=this.resolver.resolve(t)),n},n.prototype.getSerializable=function(e){return JSON.parse(this.strings[e])},n}(a),l=function(e){function n(){var n=(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))
-return n.others=[],n.serializables=[],n}return(0,t.inherits)(n,e),n.prototype.serializable=function(e){var t=this.serializables.indexOf(e)
-return t>-1?t:this.serializables.push(e)-1},n.prototype.getSerializable=function(e){return this.serializables[e]},n.prototype.getOther=function(e){return this.others[e-1]},n.prototype.other=function(e){return this.others.push(e)},n}(c),h=function(){function e(e){this.heap=e,this.offset=0}return(0,t.createClass)(e,[{key:"size",get:function(){return 1+((768&this.heap.getbyaddr(this.offset))>>8)}},{key:"isMachine",get:function(){return 1024&this.heap.getbyaddr(this.offset)}},{key:"type",get:function(){return 255&this.heap.getbyaddr(this.offset)}},{key:"op1",get:function(){return this.heap.getbyaddr(this.offset+1)}},{key:"op2",get:function(){return this.heap.getbyaddr(this.offset+2)}},{key:"op3",get:function(){return this.heap.getbyaddr(this.offset+3)}}]),e}(),d=1048576,p=function(){function e(e){var t,n,r
-this.placeholders=[],this.offset=0,this.handle=0,this.capacity=d,e?(t=e.buffer,n=e.table,r=e.handle,this.heap=new Uint16Array(t),this.table=n,this.offset=this.heap.length,this.handle=r,this.capacity=0):(this.heap=new Uint16Array(d),this.table=[])}return e.prototype.push=function(e){this.sizeCheck(),this.heap[this.offset++]=e},e.prototype.sizeCheck=function(){var e
-0===this.capacity&&(e=i(this.heap,0,this.offset),this.heap=new Uint16Array(e.length+d),this.heap.set(e,0),this.capacity=d),this.capacity--},e.prototype.getbyaddr=function(e){return this.heap[e]},e.prototype.setbyaddr=function(e,t){this.heap[e]=t},e.prototype.malloc=function(){this.table.push(this.offset,0)
-var e=this.handle
-return this.handle+=2,e},e.prototype.finishMalloc=function(e,t){var r=this.table[e],i=this.offset,o=n(i-r,t,0)
-this.table[e+1]=o},e.prototype.size=function(){return this.offset},e.prototype.getaddr=function(e){return this.table[e]},e.prototype.gethandle=function(e){this.table.push(e,n(0,0,3))
-var t=this.handle
-return this.handle+=2,t},e.prototype.sizeof=function(){return-1},e.prototype.scopesizeof=function(e){return(1073676288&this.table[e+1])>>16},e.prototype.free=function(e){var t=this.table[e+1]
-this.table[e+1]=r(t,1)},e.prototype.compact=function(){var e,t,n,i,o,s,a=0,u=this.table,c=this.table.length,l=this.heap
-for(e=0;e<c;e+=2)if(t=u[e],n=u[e+1],i=65535&n,2!==(o=-1&n))if(1===o)u[e+1]=r(n,2),a+=i
-else if(0===o){for(s=t;s<=e+i;s++)l[s-a]=l[s]
-u[e]=t-a}else 3===o&&(u[e]=t-a)
-this.offset=this.offset-a},e.prototype.pushPlaceholder=function(e){this.sizeCheck()
-var t=this.offset++
-this.heap[t]=65535,this.placeholders.push([t,e])},e.prototype.patchPlaceholders=function(){var e,t,n,r,i=this.placeholders
-for(e=0;e<i.length;e++)t=i[e],n=t[0],r=t[1],this.setbyaddr(n,r())},e.prototype.capture=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.offset
-this.patchPlaceholders()
-var t=i(this.heap,0,e).buffer
-return{handle:this.handle,table:this.table,buffer:t}},e}(),f=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new a,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new p
-this.constants=e,this.heap=t,this._opcode=new h(this.heap)}return e.prototype.opcode=function(e){return this._opcode.offset=e,this._opcode},e}(),g=function(){function e(e,t){this.constants=e,this.heap=t,this._opcode=new h(this.heap)}return e.hydrate=function(t,n,r){var i=new p(t)
-return new e(new u(r,n),i)},e.prototype.opcode=function(e){return this._opcode.offset=e,this._opcode},e}(),m=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n}(f)
-e.WELL_KNOWN_EMPTY_ARRAY_POSITION=0,e.WriteOnlyConstants=a,e.RuntimeConstants=u,e.Constants=c,e.LazyConstants=l,e.Heap=p,e.WriteOnlyProgram=f,e.RuntimeProgram=g,e.Program=m,e.Opcode=h}),e("@glimmer/reference",["exports","ember-babel","@glimmer/util"],function(e,t,n){"use strict"
-function r(e){var t=u.length
-u.push(function(e){return e.value()}),c.push(function(e,t){return e.validate(t)}),e.id=t}function i(){f++}function o(e){switch(e.length){case 0:return h
-case 1:return e[0]
-case 2:return v.create(e[0],e[1])
-default:return y.create(e)}}e.isModified=e.ReferenceCache=e.map=e.CachedReference=e.UpdatableTag=e.CachedTag=e.combine=e.combineSlice=e.combineTagged=e.DirtyableTag=e.bump=e.isConstTag=e.isConst=e.CURRENT_TAG=e.VOLATILE_TAG=e.CONSTANT_TAG=e.TagWrapper=e.RevisionTag=e.VOLATILE=e.INITIAL=e.CONSTANT=e.IteratorSynchronizer=e.ReferenceIterator=e.IterationArtifacts=e.ListItem=e.ConstReference=void 0
-var s=1,a=function(){function e(){}return e.prototype.validate=function(e){return this.value()===e},e}()
-a.id=0
-var u=[],c=[],l=function(){function e(e,t){this.type=e,this.inner=t}return e.prototype.value=function(){return(0,u[this.type])(this.inner)},e.prototype.validate=function(e){return(0,c[this.type])(this.inner,e)},e}()
-u.push(function(){return 0}),c.push(function(e,t){return 0===t})
-var h=new l(0,null)
-u.push(function(){return NaN}),c.push(function(e,t){return NaN===t})
-var d=new l(1,null)
-u.push(function(){return f}),c.push(function(e,t){return t===f})
-var p=new l(2,null),f=s,g=function(e){function n(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,r=(0,t.possibleConstructorReturn)(this,e.call(this))
-return r.revision=n,r}return(0,t.inherits)(n,e),n.create=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:f
-return new l(this.id,new n(e))},n.prototype.value=function(){return this.revision},n.prototype.dirty=function(){this.revision=++f},n}(a)
-r(g)
-var m=function(e){function n(){var n=(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))
-return n.lastChecked=null,n.lastValue=null,n}return(0,t.inherits)(n,e),n.prototype.value=function(){var e=this.lastChecked
-this.lastValue
-return e!==f&&(this.lastChecked=f,this.lastValue=this.compute()),this.lastValue},n.prototype.invalidate=function(){this.lastChecked=null},n}(a),v=function(e){function n(n,r){var i=(0,t.possibleConstructorReturn)(this,e.call(this))
-return i.first=n,i.second=r,i}return(0,t.inherits)(n,e),n.create=function(e,t){return new l(this.id,new n(e,t))},n.prototype.compute=function(){return Math.max(this.first.value(),this.second.value())},n}(m)
-r(v)
-var y=function(e){function n(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this))
-return r.tags=n,r}return(0,t.inherits)(n,e),n.create=function(e){return new l(this.id,new n(e))},n.prototype.compute=function(){var e,t,n=this.tags,r=-1
-for(e=0;e<n.length;e++)t=n[e].value(),r=Math.max(t,r)
-return r},n}(m)
-r(y)
-var b=function(e){function n(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this))
-return r.tag=n,r.lastUpdated=s,r}return(0,t.inherits)(n,e),n.create=function(e){return new l(this.id,new n(e))},n.prototype.compute=function(){return Math.max(this.lastUpdated,this.tag.value())},n.prototype.update=function(e){e!==this.tag&&(this.tag=e,this.lastUpdated=f,this.invalidate())},n}(m)
-r(b)
-var C,A=function(){function e(){this.lastRevision=null,this.lastValue=null}return e.prototype.value=function(){var e=this.tag,t=this.lastRevision,n=this.lastValue
-return null!==t&&e.validate(t)||(n=this.lastValue=this.compute(),this.lastRevision=e.value()),n},e.prototype.invalidate=function(){this.lastRevision=null},e}(),_=function(e){function n(n,r){var i=(0,t.possibleConstructorReturn)(this,e.call(this))
-return i.tag=n.tag,i.reference=n,i.mapper=r,i}return(0,t.inherits)(n,e),n.prototype.compute=function(){var e=this.reference
-return(0,this.mapper)(e.value())},n}(A),I=function(){function e(e){this.lastValue=null,this.lastRevision=null,this.initialized=!1,this.tag=e.tag,this.reference=e}return e.prototype.peek=function(){return this.initialized?this.lastValue:this.initialize()},e.prototype.revalidate=function(){if(!this.initialized)return this.initialize()
-var e=this.reference,t=this.lastRevision,n=e.tag
-if(n.validate(t))return w
-this.lastRevision=n.value()
-var r=this.lastValue,i=e.value()
-return i===r?w:(this.lastValue=i,i)},e.prototype.initialize=function(){var e=this.reference,t=this.lastValue=e.value()
-return this.lastRevision=e.tag.value(),this.initialized=!0,t},e}(),w="adb3b78e-3d22-4e4b-877a-6317c2c5c145",x=function(){function e(e){this.inner=e,this.tag=h}return e.prototype.value=function(){return this.inner},e}(),k=function(e){function n(n,r){var i=(0,t.possibleConstructorReturn)(this,e.call(this,n.valueReferenceFor(r)))
-return i.retained=!1,i.seen=!1,i.key=r.key,i.iterable=n,i.memo=n.memoReferenceFor(r),i}return(0,t.inherits)(n,e),n.prototype.update=function(e){this.retained=!0,this.iterable.updateValueReference(this.value,e),this.iterable.updateMemoReference(this.memo,e)},n.prototype.shouldRemove=function(){return!this.retained},n.prototype.reset=function(){this.retained=!1,this.seen=!1},n}(n.ListNode),j=function(){function e(e){this.iterator=null,this.map=(0,n.dict)(),this.list=new n.LinkedList,this.tag=e.tag,this.iterable=e}return e.prototype.isEmpty=function(){return(this.iterator=this.iterable.iterate()).isEmpty()},e.prototype.iterate=function(){var e=void 0
-return e=null===this.iterator?this.iterable.iterate():this.iterator,this.iterator=null,e},e.prototype.has=function(e){return!!this.map[e]},e.prototype.get=function(e){return this.map[e]},e.prototype.wasSeen=function(e){var t=this.map[e]
-return void 0!==t&&t.seen},e.prototype.append=function(e){var t=this.map,n=this.list,r=this.iterable,i=t[e.key]=new k(r,e)
-return n.append(i),i},e.prototype.insertBefore=function(e,t){var n=this.map,r=this.list,i=this.iterable,o=n[e.key]=new k(i,e)
-return o.retained=!0,r.insertBefore(o,t),o},e.prototype.move=function(e,t){var n=this.list
-e.retained=!0,n.remove(e),n.insertBefore(e,t)},e.prototype.remove=function(e){this.list.remove(e),delete this.map[e.key]},e.prototype.nextNode=function(e){return this.list.nextNode(e)},e.prototype.head=function(){return this.list.head()},e}(),E=function(){function e(e){this.iterator=null
-var t=new j(e)
-this.artifacts=t}return e.prototype.next=function(){var e=this.artifacts,t=this.iterator=this.iterator||e.iterate(),n=t.next()
-return null===n?null:e.append(n)},e}();(function(e){e[e.Append=0]="Append",e[e.Prune=1]="Prune",e[e.Done=2]="Done"})(C||(C={}))
-var S=function(){function e(e){var t=e.target,n=e.artifacts
-this.target=t,this.artifacts=n,this.iterator=n.iterate(),this.current=n.head()}return e.prototype.sync=function(){for(var e=C.Append;;)switch(e){case C.Append:e=this.nextAppend()
-break
-case C.Prune:e=this.nextPrune()
-break
-case C.Done:return void this.nextDone()}},e.prototype.advanceToKey=function(e){for(var t=this.current,n=this.artifacts,r=t;null!==r&&r.key!==e;)r.seen=!0,r=n.nextNode(r)
-null!==r&&(this.current=n.nextNode(r))},e.prototype.nextAppend=function(){var e=this.iterator,t=this.current,n=this.artifacts,r=e.next()
-if(null===r)return this.startPrune()
-var i=r.key
-return null!==t&&t.key===i?this.nextRetain(r):n.has(i)?this.nextMove(r):this.nextInsert(r),C.Append},e.prototype.nextRetain=function(e){var t=this.artifacts,n=this.current
-n=n,n.update(e),this.current=t.nextNode(n),this.target.retain(e.key,n.value,n.memo)},e.prototype.nextMove=function(e){var t=this.current,n=this.artifacts,r=this.target,i=e.key,o=n.get(e.key)
-o.update(e),n.wasSeen(e.key)?(n.move(o,t),r.move(o.key,o.value,o.memo,t?t.key:null)):this.advanceToKey(i)},e.prototype.nextInsert=function(e){var t=this.artifacts,n=this.target,r=this.current,i=t.insertBefore(e,r)
-n.insert(i.key,i.value,i.memo,r?r.key:null)},e.prototype.startPrune=function(){return this.current=this.artifacts.head(),C.Prune},e.prototype.nextPrune=function(){var e=this.artifacts,t=this.target,n=this.current
-if(null===n)return C.Done
-var r=n
-return this.current=e.nextNode(r),r.shouldRemove()?(e.remove(r),t.delete(r.key)):r.reset(),C.Prune},e.prototype.nextDone=function(){this.target.done()},e}()
-e.ConstReference=x,e.ListItem=k,e.IterationArtifacts=j,e.ReferenceIterator=E,e.IteratorSynchronizer=S,e.CONSTANT=0,e.INITIAL=s,e.VOLATILE=NaN,e.RevisionTag=a,e.TagWrapper=l,e.CONSTANT_TAG=h,e.VOLATILE_TAG=d,e.CURRENT_TAG=p,e.isConst=function(e){return e.tag===h},e.isConstTag=function(e){return e===h},e.bump=i,e.DirtyableTag=g,e.combineTagged=function(e){var t,n,r,i=[]
-for(t=0,n=e.length;t<n;t++){if((r=e[t].tag)===d)return d
-r!==h&&i.push(r)}return o(i)},e.combineSlice=function(e){for(var t,n=[],r=e.head();null!==r;){if((t=r.tag)===d)return d
-t!==h&&n.push(t),r=e.nextNode(r)}return o(n)},e.combine=function(e){var t,n,r,i=[]
-for(t=0,n=e.length;t<n;t++){if((r=e[t])===d)return d
-r!==h&&i.push(r)}return o(i)},e.CachedTag=m,e.UpdatableTag=b,e.CachedReference=A,e.map=function(e,t){return new _(e,t)},e.ReferenceCache=I,e.isModified=function(e){return e!==w}}),e("@glimmer/runtime",["exports","ember-babel","@glimmer/util","@glimmer/reference","@glimmer/vm","@glimmer/low-level"],function(e,t,n,r,i,o){"use strict"
-function s(e){return"function"!=typeof e.toString?"":String(e)}function a(e){return!(!e||!e[Ae])}function u(e){return e&&e[Ae]}function c(e){return h(e)?"":String(e)}function l(e){return g(e)||h(e)||"boolean"==typeof e||"number"==typeof e}function h(e){return null===e||void 0===e||"function"!=typeof e.toString}function d(e){return"object"==typeof e&&null!==e&&"function"==typeof e.toHTML}function p(e){return"object"==typeof e&&null!==e&&"number"==typeof e.nodeType}function f(e){return p(e)&&11===e.nodeType}function g(e){return"string"==typeof e}function m(e,t,n){return e.lookupComponentDefinition(t,n)}function v(e){return 0|(e.dynamicLayout?1:0)|(e.dynamicTag?2:0)|(e.prepareArgs?4:0)|(e.createArgs?8:0)|(e.attributeHook?16:0)|(e.elementHook?32:0)|(e.dynamicScope?64:0)|(e.createCaller?128:0)|(e.updateHook?256:0)|(e.createInstance?512:0)}function y(e,t){return!!(e&t)}function b(e,t,n){var r=e.definition=t.unwrap(n),i=r.manager,o=r.state
-return e.manager=i,e.capabilities=v(i.getCapabilities(o)),r}function C(e){return!1===y(e,1)}function A(e){return!0===y(e,1)}function _(e,t,n,r,i){var o=n.table.symbols.indexOf(e),s=r.get(t);-1!==o&&i.scope().bindBlock(o+1,s),n.lookup&&(n.lookup[e]=s)}function I(e,t){console.info("Use `context`, and `get(<path>)` to debug this template."),t("this")}function w(e,t,n){return new He(e,t,n)}function x(e,t){return new Ue(e,t)}function k(e,t){for(var n,r=e.parentElement(),i=e.firstNode(),o=e.lastNode(),s=i;s;){if(n=s.nextSibling,r.insertBefore(s,t),s===o)return n
-s=n}return null}function j(e){for(var t,n=e.parentElement(),r=e.firstNode(),i=e.lastNode(),o=r;o;){if(t=o.nextSibling,n.removeChild(o),o===i)return t
-o=t}return null}function E(e,n,r){if(!e)return n
-if(!T(e,r))return n
-var i=e.createElement("div")
-return function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.insertHTMLBefore=function(t,n,o){return null===o||""===o?e.prototype.insertHTMLBefore.call(this,t,n,o):t.namespaceURI!==r?e.prototype.insertHTMLBefore.call(this,t,n,o):S(t,i,o,n)},n}(n)}function S(e,t,n,r){t.innerHTML="<svg>"+n+"</svg>"
-var i=R(t.firstChild,e,r),o=i[0],s=i[1]
-return new He(e,o,s)}function T(e,t){var n=e.createElementNS(t,"svg")
-try{n.insertAdjacentHTML("beforeend","<circle></circle>")}catch(e){}finally{return 1!==n.childNodes.length||"http://www.w3.org/2000/svg"!==n.firstChild.namespaceURI}}function P(e,n){return e&&O(e)?function(e){function n(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this,n))
-return r.uselessComment=n.createComment(""),r}return(0,t.inherits)(n,e),n.prototype.insertHTMLBefore=function(t,n,r){if(null===r)return e.prototype.insertHTMLBefore.call(this,t,n,r)
-var i=!1,o=n?n.previousSibling:t.lastChild
-o&&o instanceof Text&&(i=!0,t.insertBefore(this.uselessComment,n))
-var s=e.prototype.insertHTMLBefore.call(this,t,n,r)
-return i&&t.removeChild(this.uselessComment),s},n}(n):n}function O(e){var t=e.createElement("div")
-return t.innerHTML="first",t.insertAdjacentHTML("beforeend","second"),2!==t.childNodes.length}function R(e,t,n){for(var r=e.firstChild,i=null,o=r;o;)i=o,o=o.nextSibling,t.insertBefore(i,n)
-return[r,i]}function N(e,t,n,r){var i=t,o=n,s=o?o.previousSibling:i.lastChild,a=void 0
-if(null===r||""===r)return new He(i,null,null)
-null===o?(i.insertAdjacentHTML("beforeend",r),a=i.lastChild):o instanceof HTMLElement?(o.insertAdjacentHTML("beforebegin",r),a=o.previousSibling):(i.insertBefore(e,o),e.insertAdjacentHTML("beforebegin",r),a=e.previousSibling,i.removeChild(e))
-var u=s?s.nextSibling:i.firstChild
-return new He(i,u,a)}function M(e,t){return-1!==e.indexOf(t)}function L(e,t){return(null===e||M(tt,e))&&M(rt,t)}function D(e,t){return null!==e&&(M(nt,e)&&M(it,t))}function z(e,t){return L(e,t)||D(e,t)}function F(e,t,n,r){var i,o=null
-if(null===r||void 0===r)return r
-if(d(r))return r.toHTML()
-o=t?t.tagName.toUpperCase():null
-var s=c(r)
-return L(o,n)&&(i=e.protocolForURL(s),M(et,i))?"unsafe:"+s:D(o,n)?"unsafe:"+s:s}function B(e,t){var n,r=void 0,i=void 0
-return t in e?(i=t,r="prop"):(n=t.toLowerCase(),n in e?(r="prop",i=n):(r="attr",i=t)),"prop"!==r||"style"!==i.toLowerCase()&&!H(e.tagName,i)||(r="attr"),{normalized:i,type:r}}function H(e,t){var n=ot[e.toUpperCase()]
-return n&&n[t.toLowerCase()]||!1}function U(e,t,n){var r=e.tagName,i=e.namespaceURI,o={element:e,name:t,namespace:n}
-if(i===qe)return q(r,t,o)
-var s=B(e,t),a=s.type,u=s.normalized
-return"attr"===a?q(r,u,o):V(r,u,o)}function q(e,t,n){return z(e,t)?new lt(n):new at(n)}function V(e,t,n){return z(e,t)?new ct(t,n):G(e,t)?new ht(t,n):W(e,t)?new dt(t,n):new ut(t,n)}function W(e,t){return"OPTION"===e&&"selected"===t}function G(e,t){return("INPUT"===e||"TEXTAREA"===e)&&"value"===t}function Y(e){return!1===e||void 0===e||null===e||void 0===e.toString?null:!0===e?"":"function"==typeof e?null:String(e)}function K(e){if(null===e||void 0===e)return!0
-switch(typeof e){case"boolean":case"undefined":return!0
-case"number":return e%1==0&&!(Math.abs(e)>xt)
-default:return!1}}function Q(e){return e<0?Math.abs(e)<<3|4:e<<3|0}function Z(e){switch(typeof e){case"number":return Q(e)
-case"boolean":return e?11:3
-case"object":return 19
-case"undefined":return 27
-default:throw(0,n.unreachable)()}}function X(e){switch(7&e){case 0:return e>>3
-case 4:return-(e>>3)
-default:throw(0,n.unreachable)()}}function J(e){switch(e){case 3:return!1
-case 11:return!0
-case 19:return null
-case 27:return
-default:return X(e)}}function $(e){return 3===e.nodeType}function ee(e){return 8===e.nodeType}function te(e){var t=e.nodeValue.match(/^%\+b:(\d+)%$/)
-return t&&t[1]?Number(t[1]):null}function ne(e){var t=e.nodeValue.match(/^%\-b:(\d+)%$/)
-return t&&t[1]?Number(t[1]):null}function re(e){return 1===e.nodeType}function ie(e){return 8===e.nodeType&&"%glmr%"===e.nodeValue}function oe(e){return 8===e.nodeType&&"%|%"===e.nodeValue}function se(e){return 8===e.nodeType&&"% %"===e.nodeValue}function ae(e,t){return e.namespaceURI===qe?e.tagName===t:e.tagName===t.toUpperCase()}function ue(e,t){var n,r
-for(n=0;n<e.length;n++)if(r=e[n],r.name===t)return r}e.hasCapability=e.capabilityFlagsFrom=e.Cursor=e.ConcreteBounds=e.RehydrateBuilder=e.rehydrationBuilder=e.clientBuilder=e.NewElementBuilder=e.normalizeProperty=e.insertHTMLBefore=e.isWhitespace=e.DOMTreeConstruction=e.IDOMChanges=e.SVG_NAMESPACE=e.DOMChanges=e.curry=e.isCurriedComponentDefinition=e.CurriedComponentDefinition=e.MINIMAL_CAPABILITIES=e.DEFAULT_CAPABILITIES=e.DefaultEnvironment=e.Environment=e.Scope=e.EMPTY_ARGS=e.DynamicAttribute=e.SimpleDynamicAttribute=e.RenderResult=e.UpdatingVM=e.LowLevelVM=e.getDynamicVar=e.resetDebuggerCallback=e.setDebuggerCallback=e.ConditionalReference=e.PrimitiveReference=e.UNDEFINED_REFERENCE=e.NULL_REFERENCE=e.renderMain=void 0
-var ce=function(){function e(){this.evaluateOpcode=(0,n.fillNulls)(98).slice()}return e.prototype.add=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"syscall"
-this.evaluateOpcode[e]={syscall:"syscall"===n,evaluate:t}},e.prototype.debugBefore=function(){return{sp:void 0,state:void 0}},e.prototype.debugAfter=function(e,t,n,r){r.sp,r.state},e.prototype.evaluate=function(e,t,n){var r=this.evaluateOpcode[n]
-r.syscall?r.evaluate(e,t):r.evaluate(e.inner,t)},e}(),le=new ce,he=function(e){function n(){var n=(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))
-return n.next=null,n.prev=null,n}return(0,t.inherits)(n,e),n}(function(){(0,n.initializeGuid)(this)}),de=function(e){function n(n){return(0,t.possibleConstructorReturn)(this,e.call(this,n))}return(0,t.inherits)(n,e),n.create=function(e){return void 0===e?ge:null===e?me:!0===e?ve:!1===e?ye:"number"==typeof e?new fe(e):new pe(e)},n.prototype.get=function(){return ge},n}(r.ConstReference),pe=function(e){function n(){var n=(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))
-return n.lengthReference=null,n}return(0,t.inherits)(n,e),n.prototype.get=function(t){var n
-return"length"===t?(n=this.lengthReference,null===n&&(n=this.lengthReference=new fe(this.inner.length)),n):e.prototype.get.call(this,t)},n}(de),fe=function(e){function n(n){return(0,t.possibleConstructorReturn)(this,e.call(this,n))}return(0,t.inherits)(n,e),n}(de),ge=new fe(void 0),me=new fe(null),ve=new fe(!0),ye=new fe(!1),be=function(){function e(e){this.inner=e,this.tag=e.tag}return e.prototype.value=function(){return this.toBool(this.inner.value())},e.prototype.toBool=function(e){return!!e},e}(),Ce=function(e){function n(n){var i=(0,t.possibleConstructorReturn)(this,e.call(this))
-return i.parts=n,i.tag=(0,r.combineTagged)(n),i}return(0,t.inherits)(n,e),n.prototype.compute=function(){var e,t,n=new Array
-for(e=0;e<this.parts.length;e++)null!==(t=this.parts[e].value())&&void 0!==t&&(n[e]=s(t))
-return n.length>0?n.join(""):null},n}(r.CachedReference)
-le.add(1,function(e,t){var n=t.op1,r=e.stack,o=e.constants.resolveHandle(n),s=r.pop(),a=o(e,s)
-e.loadValue(i.Register.v0,a)}),le.add(6,function(e,t){var n=t.op1,r=e.referenceForSymbol(n)
-e.stack.push(r)}),le.add(4,function(e,t){var n=t.op1,r=e.stack.pop()
-e.scope().bindSymbol(n,r)}),le.add(5,function(e,t){var n=t.op1,r=e.stack.pop(),i=e.stack.pop(),o=e.stack.pop(),s=o?[r,i,o]:null
-e.scope().bindBlock(n,s)}),le.add(96,function(e,t){var n=t.op1,r=e.constants.getString(n),i=e.scope().getPartialMap(),o=i[r]
-void 0===o&&(o=e.getSelf().get(r)),e.stack.push(o)}),le.add(20,function(e,t){var n=t.op1,r=t.op2
-e.pushRootScope(n,!!r)}),le.add(7,function(e,t){var n=t.op1,r=e.constants.getString(n),i=e.stack.pop()
-e.stack.push(i.get(r))}),le.add(8,function(e,t){var n=t.op1,r=e.stack,i=e.scope().getBlock(n)
-i?(r.push(i[2]),r.push(i[1]),r.push(i[0])):(r.push(null),r.push(null),r.push(null))}),le.add(9,function(e,t){var n=t.op1,r=!!e.scope().getBlock(n)
-e.stack.push(r?ve:ye)}),le.add(10,function(e){e.stack.pop(),e.stack.pop()
-var t=e.stack.pop(),n=t&&t.parameters.length
-e.stack.push(n?ve:ye)}),le.add(11,function(e,t){var n,r,i=t.op1,o=new Array(i)
-for(n=i;n>0;n--)r=n-1,o[r]=e.stack.pop()
-e.stack.push(new Ce(o))})
-var Ae="CURRIED COMPONENT DEFINITION [id=6f00feb9-a0ef-4547-99ea-ac328f80acea]",_e=function(){function e(e,t){this.inner=e,this.args=t,this[Ae]=!0}return e.prototype.unwrap=function(e){e.realloc(this.offset)
-for(var t,n,r,i=this;;){if(t=i,n=t.args,r=t.inner,n&&(e.positional.prepend(n.positional),e.named.merge(n.named)),!a(r))return r
-i=r}},(0,t.createClass)(e,[{key:"offset",get:function(){var e=this.inner,t=this.args,n=t?t.positional.length:0
-return a(e)?n+e.offset:n}}]),e}(),Ie=function(e){function n(n,r,i){var o=(0,t.possibleConstructorReturn)(this,e.call(this))
-return o.node=n,o.reference=r,o.lastValue=i,o.type="dynamic-text",o.tag=r.tag,o.lastRevision=o.tag.value(),o}return(0,t.inherits)(n,e),n.prototype.evaluate=function(){var e=this.reference,t=this.tag
-t.validate(this.lastRevision)||(this.lastRevision=t.value(),this.update(e.value()))},n.prototype.update=function(e){var t,n=this.lastValue
-if(e!==n){var r=void 0
-r=h(e)?"":g(e)?e:String(e),r!==n&&(t=this.node,t.nodeValue=this.lastValue=r)}},n}(he),we=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.create=function(e){return new n(e)},n.prototype.toBool=function(e){return a(e)},n}(be),xe=function(){function e(e){this.inner=e,this.tag=e.tag}return e.prototype.value=function(){var e=this.inner.value()
-return l(e)?1:u(e)?0:d(e)?3:f(e)?4:p(e)?5:1},e}()
-le.add(28,function(e){var t=e.stack.pop(),n=t.value(),r=h(n)?"":String(n)
-e.elements().appendDynamicHTML(r)}),le.add(29,function(e){var t=e.stack.pop(),n=t.value().toHTML(),r=h(n)?"":n
-e.elements().appendDynamicHTML(r)}),le.add(32,function(e){var t=e.stack.pop(),n=t.value(),i=h(n)?"":String(n),o=e.elements().appendDynamicText(i);(0,r.isConst)(t)||e.updateWith(new Ie(o,t,i))}),le.add(30,function(e){var t=e.stack.pop(),n=t.value()
-e.elements().appendDynamicFragment(n)}),le.add(31,function(e){var t=e.stack.pop(),n=t.value()
-e.elements().appendDynamicNode(n)}),le.add(22,function(e){return e.pushChildScope()}),le.add(23,function(e){return e.popScope()}),le.add(44,function(e){return e.pushDynamicScope()}),le.add(45,function(e){return e.popDynamicScope()}),le.add(12,function(e,t){var n=t.op1
-e.stack.push(e.constants.getOther(n))}),le.add(13,function(e,t){var n=t.op1,r=e.stack,i=n>>3
-switch(7&n){case 0:r.push(i)
-break
-case 1:r.push(e.constants.getNumber(i))
-break
-case 2:r.push(e.constants.getString(i))
-break
-case 3:r.pushEncodedImmediate(n)
-break
-case 4:case 5:r.push(e.constants.getNumber(i))}}),le.add(14,function(e){var t=e.stack
-t.push(de.create(t.pop()))}),le.add(15,function(e){var t=e.stack
-t.push(t.peek().value())}),le.add(16,function(e,t){var n=t.op1,r=t.op2,i=e.fetchValue(n)-r
-e.stack.dup(i)}),le.add(17,function(e,t){var n=t.op1
-e.stack.pop(n)}),le.add(18,function(e,t){var n=t.op1
-e.load(n)}),le.add(19,function(e,t){var n=t.op1
-e.fetch(n)}),le.add(43,function(e,t){var n=t.op1,r=e.constants.getArray(n)
-e.bindDynamicScope(r)}),le.add(61,function(e,t){var n=t.op1
-e.enter(n)}),le.add(62,function(e){e.exit()}),le.add(48,function(e,t){var n=t.op1
-e.stack.push(e.constants.getSerializable(n))}),le.add(47,function(e){e.stack.push(e.scope())}),le.add(46,function(e){var t=e.stack,n=t.pop()
-n?t.pushSmi(n.compile()):t.pushNull()}),le.add(51,function(e){var t,n,r,i=e.stack,o=i.pop(),s=i.pop(),a=i.pop(),u=i.pop()
-if(null===a)return e.pushFrame(),void e.pushScope(s)
-var c=s
-if(t=a.parameters,(n=t.length)>0)for(c=c.child(),r=0;r<n;r++)c.bindSymbol(t[r],u.at(r))
-e.pushFrame(),e.pushScope(c),e.call(o)}),le.add(53,function(e,t){var n,i=t.op1,o=e.stack.pop();(0,r.isConst)(o)?o.value()&&e.goto(i):(n=new r.ReferenceCache(o),n.peek()&&e.goto(i),e.updateWith(new ke(n)))}),le.add(54,function(e,t){var n,i=t.op1,o=e.stack.pop();(0,r.isConst)(o)?o.value()||e.goto(i):(n=new r.ReferenceCache(o),n.peek()||e.goto(i),e.updateWith(new ke(n)))}),le.add(55,function(e,t){var n=t.op1,r=t.op2
-e.stack.peek()===r&&e.goto(n)}),le.add(56,function(e){var t=e.stack.peek();(0,r.isConst)(t)||e.updateWith(ke.initialize(new r.ReferenceCache(t)))}),le.add(63,function(e){var t=e.env,n=e.stack
-n.push(t.toConditionalReference(n.pop()))})
-var ke=function(e){function n(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this))
-return r.type="assert",r.tag=n.tag,r.cache=n,r}return(0,t.inherits)(n,e),n.initialize=function(e){var t=new n(e)
-return e.peek(),t},n.prototype.evaluate=function(e){var t=this.cache;(0,r.isModified)(t.revalidate())&&e.throw()},n}(he),je=function(e){function n(n,r){var i=(0,t.possibleConstructorReturn)(this,e.call(this))
-return i.target=r,i.type="jump-if-not-modified",i.tag=n,i.lastRevision=n.value(),i}return(0,t.inherits)(n,e),n.prototype.evaluate=function(e){var t=this.tag,n=this.target,r=this.lastRevision
-!e.alwaysRevalidate&&t.validate(r)&&e.goto(n)},n.prototype.didModify=function(){this.lastRevision=this.tag.value()},n}(he),Ee=function(e){function n(n){var i=(0,t.possibleConstructorReturn)(this,e.call(this))
-return i.target=n,i.type="did-modify",i.tag=r.CONSTANT_TAG,i}return(0,t.inherits)(n,e),n.prototype.evaluate=function(){this.target.didModify()},n}(he),Se=function(){function e(e){this.tag=r.CONSTANT_TAG,this.type="label",this.label=null,this.prev=null,this.next=null,(0,n.initializeGuid)(this),this.label=e}return e.prototype.evaluate=function(){},e.prototype.inspect=function(){return this.label+" ["+this._guid+"]"},e}()
-le.add(26,function(e,t){var n=t.op1
-e.elements().appendText(e.constants.getString(n))}),le.add(27,function(e,t){var n=t.op1
-e.elements().appendComment(e.constants.getString(n))}),le.add(33,function(e,t){var n=t.op1
-e.elements().openElement(e.constants.getString(n))}),le.add(34,function(e){var t=e.stack.pop().value()
-e.elements().openElement(t)}),le.add(41,function(e){var t,n,i=e.stack.pop(),o=e.stack.pop(),s=e.stack.pop(),a=void 0,u=void 0,c=s.value();(0,r.isConst)(i)?a=i.value():(t=new r.ReferenceCache(i),a=t.peek(),e.updateWith(new ke(t))),(0,r.isConst)(o)?u=o.value():(n=new r.ReferenceCache(o),u=n.peek(),e.updateWith(new ke(n))),e.elements().pushRemoteElement(a,c,u)}),le.add(42,function(e){e.elements().popRemoteElement()}),le.add(38,function(e){var t=e.fetchValue(i.Register.t0)
-t&&(t.flush(e),e.loadValue(i.Register.t0,null)),e.elements().flushElement()}),le.add(39,function(e){e.elements().closeElement()}),le.add(40,function(e,t){var n=t.op1,i=e.constants.resolveHandle(n),o=e.stack,s=o.pop(),a=e.elements(),u=a.constructing,c=a.updateOperations,l=e.dynamicScope(),h=i.create(u,s,l,c)
-e.env.scheduleInstallModifier(h,i)
-var d=i.getDestructor(h)
-d&&e.newDestroyable(d)
-var p=i.getTag(h);(0,r.isConstTag)(p)||e.updateWith(new Te(p,i,h))})
-var Te=function(e){function n(n,r,i){var o=(0,t.possibleConstructorReturn)(this,e.call(this))
-return o.tag=n,o.manager=r,o.modifier=i,o.type="update-modifier",o.lastUpdated=n.value(),o}return(0,t.inherits)(n,e),n.prototype.evaluate=function(e){var t=this.manager,n=this.modifier,r=this.tag,i=this.lastUpdated
-r.validate(i)||(e.env.scheduleUpdateModifier(n,t),this.lastUpdated=r.value())},n}(he)
-le.add(35,function(e,t){var n=t.op1,r=t.op2,i=t.op3,o=e.constants.getString(n),s=e.constants.getString(r),a=i?e.constants.getString(i):null
-e.elements().setStaticAttribute(o,s,a)}),le.add(36,function(e,t){var n=t.op1,i=t.op2,o=t.op3,s=e.constants.getString(n),a=e.stack.pop(),u=a.value(),c=o?e.constants.getString(o):null,l=e.elements().setDynamicAttribute(s,u,!!i,c);(0,r.isConst)(a)||e.updateWith(new Pe(a,l))})
-var Pe=function(e){function n(n,r){var i=(0,t.possibleConstructorReturn)(this,e.call(this))
-return i.reference=n,i.attribute=r,i.type="patch-element",i.tag=n.tag,i.lastRevision=i.tag.value(),i}return(0,t.inherits)(n,e),n.prototype.evaluate=function(e){var t=this.attribute,n=this.reference,r=this.tag
-r.validate(this.lastRevision)||(this.lastRevision=r.value(),t.update(n.value(),e.env))},n}(he),Oe=function(){function e(e,t,n,r){this.inner=e,this.resolver=t,this.meta=n,this.args=r,this.tag=e.tag,this.lastValue=null,this.lastDefinition=null}return e.prototype.value=function(){var e,t,n=this.inner,r=this.lastValue,i=n.value()
-if(i===r)return this.lastDefinition
-var o=null
-return a(i)?o=i:"string"==typeof i&&i&&(e=this.resolver,t=this.meta,o=m(e,i,t)),o=this.curry(o),this.lastValue=i,this.lastDefinition=o,o},e.prototype.get=function(){return ge},e.prototype.curry=function(e){var t=this.args
-return!t&&a(e)?e:e?new _e(e,t):null},e}(),Re=function(){function e(e){this.list=e,this.tag=(0,r.combineTagged)(e),this.list=e}return e.prototype.value=function(){var e,t,n=[],r=this.list
-for(t=0;t<r.length;t++)(e=c(r[t].value()))&&n.push(e)
-return 0===n.length?null:n.join(" ")},e}()
-le.add(69,function(e){var t=e.stack,n=t.pop()
-t.push(we.create(n))}),le.add(70,function(e){var t=e.stack,n=t.peek()
-t.push(new xe(n))}),le.add(71,function(e,t){var n=t.op1,r=e.stack,o=r.pop(),s=r.pop(),a=e.constants.getSerializable(n),u=e.constants.resolver
-e.loadValue(i.Register.v0,new Oe(o,u,a,s))}),le.add(72,function(e,t){var n=t.op1,r=e.constants.resolveHandle(n),i=r.manager,o=v(i.getCapabilities(r.state))
-e.stack.push({definition:r,manager:i,capabilities:o,state:null,handle:null,table:null,lookup:null})}),le.add(75,function(e,t){var r,o,s=t.op1,u=e.stack,c=u.pop().value(),l=e.constants.getSerializable(s)
-e.loadValue(i.Register.t1,null)
-var h=void 0
-if("string"==typeof c)r=e.constants.resolver,o=m(r,c,l),h=o
-else{if(!a(c))throw(0,n.unreachable)()
-h=c}u.push(h)}),le.add(73,function(e){var t=e.stack,n=t.pop(),r=void 0,i=void 0
-a(n)?i=r=null:(i=n.manager,r=v(i.getCapabilities(n.state))),t.push({definition:n,capabilities:r,manager:i,state:null,handle:null,table:null})}),le.add(74,function(e,t){t.op1
-var r=e.stack,i=r.pop().value(),o=void 0
-if(!a(i))throw(0,n.unreachable)()
-o=i,r.push(o)}),le.add(76,function(e,t){var n=t.op1,r=t.op2,i=e.stack,o=e.constants.getStringArray(n),s=[]
-4&r&&s.push("main"),2&r&&s.push("else"),1&r&&s.push("attrs"),e.args.setup(i,o,s,r>>4,!!(8&r)),i.push(e.args)}),le.add(77,function(e){var t=e.stack
-t.push(e.args.empty(t))}),le.add(80,function(e){var t=e.stack,n=t.pop(),r=n.capture()
-t.push(r)}),le.add(79,function(e,t){var n,r,i,o,s,u,c,l=t.op1,h=e.stack,d=e.fetchValue(l),p=h.pop(),f=d.definition
-a(f)&&(f=b(d,f,p))
-var g=f,m=g.manager,v=g.state
-if(!0!==y(d.capabilities,4))return void h.push(p)
-var C=p.blocks.values,A=p.blocks.names,_=m.prepareArgs(v,p)
-if(_){for(p.clear(),n=0;n<C.length;n++)h.push(C[n])
-for(r=_.positional,i=_.named,o=r.length,s=0;s<o;s++)h.push(r[s])
-for(u=Object.keys(i),c=0;c<u.length;c++)h.push(i[u[c]])
-p.setup(h,u,A,o,!0)}h.push(p)}),le.add(81,function(e,t){var n=t.op1,i=t.op2,o=e.fetchValue(i),s=o.definition,a=o.manager,u=o.capabilities=v(a.getCapabilities(s.state)),c=null
-y(u,64)&&(c=e.dynamicScope())
-var l=null
-y(u,8)&&(l=e.stack.peek())
-var h=null
-y(u,128)&&(h=e.getSelf())
-var d=a.create(e.env,s.state,l,c,h,!!(1&n))
-o.state=d
-var p=a.getTag(d)
-y(u,256)&&!(0,r.isConstTag)(p)&&e.updateWith(new Me(p,d,a,c))}),le.add(82,function(e,t){var n=t.op1,r=e.fetchValue(n),i=r.manager,o=r.state,s=i.getDestructor(o)
-s&&e.newDestroyable(s)}),le.add(91,function(e){e.beginCacheGroup(),e.elements().pushSimpleBlock()}),le.add(83,function(e){e.loadValue(i.Register.t0,new Ne)}),le.add(37,function(e,t){var n=t.op1,r=t.op2,o=t.op3,s=e.constants.getString(n),a=e.stack.pop(),u=o?e.constants.getString(o):null
-e.fetchValue(i.Register.t0).setAttribute(s,a,!!r,u)})
-var Ne=function(){function e(){this.attributes=(0,n.dict)(),this.classes=[]}return e.prototype.setAttribute=function(e,t,n,r){"class"===e&&this.classes.push(t),this.attributes[e]={value:t,namespace:r,trusting:n}},e.prototype.flush=function(e){var t,n,i,o,s,a,u
-for(var c in this.attributes){t=this.attributes[c]
-var n=t.value,i=t.namespace,o=t.trusting
-"class"===c&&(n=new Re(this.classes)),"type"!==c&&(s=e.elements().setDynamicAttribute(c,n.value(),o,i),(0,r.isConst)(n)||e.updateWith(new Pe(n,s)))}"type"in this.attributes&&(a=this.attributes.type,n=a.value,i=a.namespace,o=a.trusting,u=e.elements().setDynamicAttribute("type",n.value(),o,i),(0,r.isConst)(n)||e.updateWith(new Pe(n,u)))},e}()
-le.add(93,function(e,t){var n=t.op1,r=e.fetchValue(n),o=r.definition,s=r.state,a=o.manager,u=e.fetchValue(i.Register.t0)
-a.didCreateElement(s,e.elements().expectConstructing("DidCreateElementOpcode#evaluate"),u)}),le.add(84,function(e,t){var n=t.op1,r=e.fetchValue(n),i=r.definition,o=r.state,s=i.manager
-e.stack.push(s.getSelf(o))}),le.add(85,function(e,t){var n=t.op1,r=e.fetchValue(n),i=r.definition,o=r.state,s=i.manager
-e.stack.push(s.getTagName(o))}),le.add(86,function(e,t){var r=t.op1,i=e.fetchValue(r),o=i.manager,s=i.definition,a=e.constants.resolver,u=e.stack,c=i.state,l=i.capabilities,h=s.state,d=void 0
-if(C(l))d=o.getLayout(h,a)
-else{if(!A(l))throw(0,n.unreachable)()
-d=o.getDynamicLayout(c,a)}u.push(d.symbolTable),u.push(d.handle)}),le.add(68,function(e,t){var n=t.op1,r=e.stack.pop(),i=e.stack.pop(),o=r.manager,s=v(o.getCapabilities(r.state)),a={definition:r,manager:o,capabilities:s,state:null,handle:i.handle,table:i.symbolTable,lookup:null}
-e.loadValue(n,a)}),le.add(89,function(e,t){var n=t.op1,r=e.stack,i=r.pop(),o=r.pop(),s=e.fetchValue(n)
-s.handle=i,s.table=o}),le.add(21,function(e,t){var n=t.op1,r=e.fetchValue(n).table.symbols
-e.pushRootScope(r.length+1,!0)}),le.add(87,function(e,t){var r,i=t.op1,o=e.fetchValue(i)
-o.table.hasEval&&(r=o.lookup=(0,n.dict)(),e.scope().bindEvalScope(r))}),le.add(2,function(e,t){var n,r,i,o,s=t.op1,a=e.fetchValue(s),u=e.scope(),c=e.stack.peek(),l=c.named.atNames
-for(n=l.length-1;n>=0;n--)r=l[n],i=a.table.symbols.indexOf(l[n]),o=c.named.get(r,!1),-1!==i&&u.bindSymbol(i+1,o),a.lookup&&(a.lookup[r]=o)}),le.add(3,function(e,t){var n=t.op1,r=e.fetchValue(n),i=e.stack.peek(),o=i.blocks
-_("&attrs","attrs",r,o,e),_("&inverse","else",r,o,e),_("&default","main",r,o,e)}),le.add(90,function(e,t){var n=t.op1,r=e.fetchValue(n)
-e.call(r.handle)}),le.add(94,function(e,t){var n=t.op1,r=e.fetchValue(n),i=r.manager,o=r.state,s=e.elements().popBlock()
-i.didRenderLayout(o,s),e.env.didCreate(o,i),e.updateWith(new Le(i,o,s))}),le.add(92,function(e){e.commitCacheGroup()})
-var Me=function(e){function n(n,r,i,o){var s=(0,t.possibleConstructorReturn)(this,e.call(this))
-return s.tag=n,s.component=r,s.manager=i,s.dynamicScope=o,s.type="update-component",s}return(0,t.inherits)(n,e),n.prototype.evaluate=function(){var e=this.component,t=this.manager,n=this.dynamicScope
-t.update(e,n)},n}(he),Le=function(e){function n(n,i,o){var s=(0,t.possibleConstructorReturn)(this,e.call(this))
-return s.manager=n,s.component=i,s.bounds=o,s.type="did-update-layout",s.tag=r.CONSTANT_TAG,s}return(0,t.inherits)(n,e),n.prototype.evaluate=function(e){var t=this.manager,n=this.component,r=this.bounds
-t.didUpdateLayout(n,r),e.env.didUpdate(n,t)},n}(he),De=I,ze=function(){function e(e,t,r){var i,o,s,a
-for(this.scope=e,this.locals=(0,n.dict)(),i=0;i<r.length;i++)o=r[i],s=t[o-1],a=e.getSymbol(o),this.locals[s]=a}return e.prototype.get=function(e){var t=this.scope,n=this.locals,r=e.split("."),i=e.split("."),o=i[0],s=i.slice(1),a=t.getEvalScope(),u=void 0
-return"this"===o?u=t.getSelf():n[o]?u=n[o]:0===o.indexOf("@")&&a[o]?u=a[o]:(u=this.scope.getSelf(),s=r),s.reduce(function(e,t){return e.get(t)},u)},e}()
-le.add(97,function(e,t){var n=t.op1,r=t.op2,i=e.constants.getStringArray(n),o=e.constants.getArray(r),s=new ze(e.scope(),i,o)
-De(e.getSelf().value(),function(e){return s.get(e).value()})}),le.add(95,function(e,t){var n,r,i,o,s,a,u,c,l,h,d,p,f,g=t.op1,m=t.op2,v=t.op3,y=e.constants,b=e.constants.resolver,C=e.stack,A=C.pop().value(),_=y.getSerializable(g),I=y.getStringArray(m),w=y.getArray(v),x=b.lookupPartial(A,_),k=b.resolve(x),j=k.getPartial(),E=j.symbolTable,S=j.handle
-for(n=E.symbols,r=e.scope(),i=e.pushRootScope(n.length,!1),o=r.getEvalScope(),i.bindCallerScope(r.getCallerScope()),i.bindEvalScope(o),i.bindSelf(r.getSelf()),s=Object.create(r.getPartialMap()),a=0;a<w.length;a++)u=w[a],c=I[u-1],l=r.getSymbol(u),s[c]=l
-if(o)for(h=0;h<n.length;h++)d=n[h],p=h+1,void 0!==(f=o[d])&&i.bind(p,f)
-i.bindPartialMap(s),e.pushFrame(),e.call(S)})
-var Fe=function(){function e(e){this.tag=e.tag,this.artifacts=e}return e.prototype.value=function(){return!this.artifacts.isEmpty()},e}()
-le.add(66,function(e){var t=e.stack,n=t.pop(),i=t.pop(),o=e.env.iterableFor(n,i.value()),s=new r.ReferenceIterator(o)
-t.push(s),t.push(new Fe(s.artifacts))}),le.add(64,function(e,t){var n=t.op1
-e.enterList(n)}),le.add(65,function(e){e.exitList()}),le.add(67,function(e,t){var n,r=t.op1,i=e.stack,o=i.peek().next()
-o?(n=e.iterate(o.memo,o.value),e.enterItem(o.key,n)):e.goto(r)})
-var Be=function(e,t){this.element=e,this.nextSibling=t},He=function(){function e(e,t,n){this.parentNode=e,this.first=t,this.last=n}return e.prototype.parentElement=function(){return this.parentNode},e.prototype.firstNode=function(){return this.first},e.prototype.lastNode=function(){return this.last},e}(),Ue=function(){function e(e,t){this.parentNode=e,this.node=t}return e.prototype.parentElement=function(){return this.parentNode},e.prototype.firstNode=function(){return this.node},e.prototype.lastNode=function(){return this.node},e}(),qe="http://www.w3.org/2000/svg",Ve={foreignObject:1,desc:1,title:1},We=Object.create(null);["b","big","blockquote","body","br","center","code","dd","div","dl","dt","em","embed","h1","h2","h3","h4","h5","h6","head","hr","i","img","li","listing","main","meta","nobr","ol","p","pre","ruby","s","small","span","strong","strike","sub","sup","table","tt","u","ul","var"].forEach(function(e){return We[e]=1})
-var Ge,Ye=/[\t-\r \xA0\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]/,Ke="undefined"==typeof document?null:document,Qe=function(){function e(e){this.document=e,this.setupUselessElement()}return e.prototype.setupUselessElement=function(){this.uselessElement=this.document.createElement("div")},e.prototype.createElement=function(e,t){var n=void 0,r=void 0
-if(t?(n=t.namespaceURI===qe||"svg"===e,r=Ve[t.tagName]):(n="svg"===e,r=!1),n&&!r){if(We[e])throw new Error("Cannot create a "+e+" inside an SVG context")
-return this.document.createElementNS(qe,e)}return this.document.createElement(e)},e.prototype.insertBefore=function(e,t,n){e.insertBefore(t,n)},e.prototype.insertHTMLBefore=function(e,t,n){return N(this.uselessElement,e,t,n)},e.prototype.createTextNode=function(e){return this.document.createTextNode(e)},e.prototype.createComment=function(e){return this.document.createComment(e)},e}();(function(e){var n=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.createElementNS=function(e,t){return this.document.createElementNS(e,t)},n.prototype.setAttribute=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null
-r?e.setAttributeNS(r,t,n):e.setAttribute(t,n)},n}(Qe)
-e.TreeConstruction=n
-var r=n
-r=P(Ke,r),r=E(Ke,r,qe),e.DOMTreeConstruction=r})(Ge||(Ge={}))
-var Ze=function(e){function n(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this,n))
-return r.document=n,r.namespace=null,r}return(0,t.inherits)(n,e),n.prototype.setAttribute=function(e,t,n){e.setAttribute(t,n)},n.prototype.removeAttribute=function(e,t){e.removeAttribute(t)},n.prototype.insertAfter=function(e,t,n){this.insertBefore(e,t,n.nextSibling)},n}(Qe),Xe=Ze
-Xe=P(Ke,Xe),Xe=E(Ke,Xe,qe)
-var Je=Xe,$e=Ge.DOMTreeConstruction,et=["javascript:","vbscript:"],tt=["A","BODY","LINK","IMG","IFRAME","BASE","FORM"],nt=["EMBED"],rt=["href","src","background","action"],it=["src"],ot={INPUT:{form:!0,autocorrect:!0,list:!0},SELECT:{form:!0},OPTION:{form:!0},TEXTAREA:{form:!0},LABEL:{form:!0},FIELDSET:{form:!0},LEGEND:{form:!0},OBJECT:{form:!0},BUTTON:{form:!0}},st=function(e){this.attribute=e},at=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.set=function(e,t){var n,r,i,o=Y(t)
-null!==o&&(n=this.attribute,r=n.name,i=n.namespace,e.__setAttribute(r,o,i))},n.prototype.update=function(e){var t=Y(e),n=this.attribute,r=n.element,i=n.name
-null===t?r.removeAttribute(i):r.setAttribute(i,t)},n}(st),ut=function(e){function n(n,r){var i=(0,t.possibleConstructorReturn)(this,e.call(this,r))
-return i.normalizedName=n,i}return(0,t.inherits)(n,e),n.prototype.set=function(e,t){null!==t&&void 0!==t&&(this.value=t,e.__setProperty(this.normalizedName,t))},n.prototype.update=function(e){var t=this.attribute.element
-this.value!==e&&(t[this.normalizedName]=this.value=e,null!==e&&void 0!==e||this.removeAttribute())},n.prototype.removeAttribute=function(){var e=this.attribute,t=e.element,n=e.namespace
-n?t.removeAttributeNS(n,this.normalizedName):t.removeAttribute(this.normalizedName)},n}(st),ct=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.set=function(t,n,r){var i=this.attribute,o=i.element,s=i.name,a=F(r,o,s,n)
-e.prototype.set.call(this,t,a,r)},n.prototype.update=function(t,n){var r=this.attribute,i=r.element,o=r.name,s=F(n,i,o,t)
-e.prototype.update.call(this,s,n)},n}(ut),lt=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.set=function(t,n,r){var i=this.attribute,o=i.element,s=i.name,a=F(r,o,s,n)
-e.prototype.set.call(this,t,a,r)},n.prototype.update=function(t,n){var r=this.attribute,i=r.element,o=r.name,s=F(n,i,o,t)
-e.prototype.update.call(this,s,n)},n}(at),ht=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.set=function(e,t){e.__setProperty("value",c(t))},n.prototype.update=function(e){var t=this.attribute.element,n=t.value,r=c(e)
-n!==r&&(t.value=r)},n}(ut),dt=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.set=function(e,t){null!==t&&void 0!==t&&!1!==t&&e.__setProperty("selected",!0)},n.prototype.update=function(e){var t=this.attribute.element
-t.selected=!!e},n}(ut),pt=function(){function e(e,t,n,r){this.slots=e,this.callerScope=t,this.evalScope=n,this.partialMap=r}return e.root=function(t){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=new Array(r+1)
-for(n=0;n<=r;n++)i[n]=ge
-return new e(i,null,null,null).init({self:t})},e.sized=function(){var t,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,r=new Array(n+1)
-for(t=0;t<=n;t++)r[t]=ge
-return new e(r,null,null,null)},e.prototype.init=function(e){var t=e.self
-return this.slots[0]=t,this},e.prototype.getSelf=function(){return this.get(0)},e.prototype.getSymbol=function(e){return this.get(e)},e.prototype.getBlock=function(e){var t=this.get(e)
-return t===ge?null:t},e.prototype.getEvalScope=function(){return this.evalScope},e.prototype.getPartialMap=function(){return this.partialMap},e.prototype.bind=function(e,t){this.set(e,t)},e.prototype.bindSelf=function(e){this.set(0,e)},e.prototype.bindSymbol=function(e,t){this.set(e,t)},e.prototype.bindBlock=function(e,t){this.set(e,t)},e.prototype.bindEvalScope=function(e){this.evalScope=e},e.prototype.bindPartialMap=function(e){this.partialMap=e},e.prototype.bindCallerScope=function(e){this.callerScope=e},e.prototype.getCallerScope=function(){return this.callerScope},e.prototype.child=function(){return new e(this.slots.slice(),this.callerScope,this.evalScope,this.partialMap)},e.prototype.get=function(e){if(e>=this.slots.length)throw new RangeError("BUG: cannot get $"+e+" from scope; length="+this.slots.length)
-return this.slots[e]},e.prototype.set=function(e,t){if(e>=this.slots.length)throw new RangeError("BUG: cannot get $"+e+" from scope; length="+this.slots.length)
-this.slots[e]=t},e}(),ft=function(){function e(){this.scheduledInstallManagers=[],this.scheduledInstallModifiers=[],this.scheduledUpdateModifierManagers=[],this.scheduledUpdateModifiers=[],this.createdComponents=[],this.createdManagers=[],this.updatedComponents=[],this.updatedManagers=[],this.destructors=[]}return e.prototype.didCreate=function(e,t){this.createdComponents.push(e),this.createdManagers.push(t)},e.prototype.didUpdate=function(e,t){this.updatedComponents.push(e),this.updatedManagers.push(t)},e.prototype.scheduleInstallModifier=function(e,t){this.scheduledInstallManagers.push(t),this.scheduledInstallModifiers.push(e)},e.prototype.scheduleUpdateModifier=function(e,t){this.scheduledUpdateModifierManagers.push(t),this.scheduledUpdateModifiers.push(e)},e.prototype.didDestroy=function(e){this.destructors.push(e)},e.prototype.commit=function(){var e,t,n,r,i,o,s,a,u,c,l,h,d,p=this.createdComponents,f=this.createdManagers
-for(e=0;e<p.length;e++)t=p[e],n=f[e],n.didCreate(t)
-var g=this.updatedComponents,m=this.updatedManagers
-for(r=0;r<g.length;r++)i=g[r],o=m[r],o.didUpdate(i)
-var v=this.destructors
-for(s=0;s<v.length;s++)v[s].destroy()
-var y=this.scheduledInstallManagers,b=this.scheduledInstallModifiers
-for(a=0;a<y.length;a++)u=y[a],c=b[a],u.install(c)
-var C=this.scheduledUpdateModifierManagers,A=this.scheduledUpdateModifiers
-for(l=0;l<C.length;l++)h=C[l],d=A[l],h.update(d)},e}(),gt=function(){function e(e){var t=e.appendOperations,n=e.updateOperations
-this._transaction=null,this.appendOperations=t,this.updateOperations=n}return e.prototype.toConditionalReference=function(e){return new be(e)},e.prototype.getAppendOperations=function(){return this.appendOperations},e.prototype.getDOM=function(){return this.updateOperations},e.prototype.begin=function(){this._transaction=new ft},e.prototype.didCreate=function(e,t){this.transaction.didCreate(e,t)},e.prototype.didUpdate=function(e,t){this.transaction.didUpdate(e,t)},e.prototype.scheduleInstallModifier=function(e,t){this.transaction.scheduleInstallModifier(e,t)},e.prototype.scheduleUpdateModifier=function(e,t){this.transaction.scheduleUpdateModifier(e,t)},e.prototype.didDestroy=function(e){this.transaction.didDestroy(e)},e.prototype.commit=function(){var e=this.transaction
-this._transaction=null,e.commit()},e.prototype.attributeFor=function(e,t){return U(e,t,arguments.length>3&&void 0!==arguments[3]?arguments[3]:null)},(0,t.createClass)(e,[{key:"transaction",get:function(){return this._transaction}}]),e}(),mt=function(e){function n(n){var r,i,o
-return n||(r=window.document,i=new $e(r),o=new Ze(r),n={appendOperations:i,updateOperations:o}),(0,t.possibleConstructorReturn)(this,e.call(this,n))}return(0,t.inherits)(n,e),n}(gt),vt=function(){function e(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:-1
-this.stack=e,this.heap=t,this.program=n,this.externs=r,this.pc=i,this.ra=o,this.currentOpSize=0}return e.prototype.pushFrame=function(){this.stack.pushSmi(this.ra),this.stack.pushSmi(this.stack.fp),this.stack.fp=this.stack.sp-1},e.prototype.popFrame=function(){this.stack.sp=this.stack.fp-1,this.ra=this.stack.getSmi(0),this.stack.fp=this.stack.getSmi(1)},e.prototype.pushSmallFrame=function(){this.stack.pushSmi(this.ra)},e.prototype.popSmallFrame=function(){this.ra=this.stack.popSmi()},e.prototype.goto=function(e){var t=this.pc+e-this.currentOpSize
-this.pc=t},e.prototype.call=function(e){this.ra=this.pc,this.pc=this.heap.getaddr(e)},e.prototype.returnTo=function(e){var t=this.pc+e-this.currentOpSize
-this.ra=t},e.prototype.return=function(){this.pc=this.ra},e.prototype.nextStatement=function(){var e=this.pc,t=this.program
-if(-1===e)return null
-var n=this.program.opcode(e),r=n.size,i=this.currentOpSize=r
-return this.pc+=i,t.opcode(e)},e.prototype.evaluateOuter=function(e,t){this.evaluateInner(e,t)},e.prototype.evaluateInner=function(e,t){e.isMachine?this.evaluateMachine(e):this.evaluateSyscall(e,t)},e.prototype.evaluateMachine=function(e){switch(e.type){case 57:return this.pushFrame()
-case 58:return this.popFrame()
-case 59:return this.pushSmallFrame()
-case 60:return this.popSmallFrame()
-case 50:return this.call(e.op1)
-case 49:return this.call(this.stack.popSmi())
-case 52:return this.goto(e.op1)
-case 24:return this.return()
-case 25:return this.returnTo(e.op1)}},e.prototype.evaluateSyscall=function(e,t){le.evaluate(t,e,e.type)},e}(),yt=function(){function e(e){this.node=e}return e.prototype.firstNode=function(){return this.node},e}(),bt=function(){function e(e){this.node=e}return e.prototype.lastNode=function(){return this.node},e}(),Ct=function(){function e(e,t,r){this.constructing=null,this.operations=null,this.cursorStack=new n.Stack,this.blockStack=new n.Stack,this.pushElement(t,r),this.env=e,this.dom=e.getAppendOperations(),this.updateOperations=e.getDOM()}return e.forInitialRender=function(e,t){var n=new this(e,t.element,t.nextSibling)
-return n.pushSimpleBlock(),n},e.resume=function(e,t,n){var r=t.parentElement(),i=new this(e,r,n)
-return i.pushSimpleBlock(),i.pushBlockTracker(t),i},e.prototype.expectConstructing=function(){return this.constructing},e.prototype.block=function(){return this.blockStack.current},e.prototype.popElement=function(){this.cursorStack.pop(),this.cursorStack.current},e.prototype.pushSimpleBlock=function(){return this.pushBlockTracker(new At(this.element))},e.prototype.pushUpdatableBlock=function(){return this.pushBlockTracker(new It(this.element))},e.prototype.pushBlockList=function(e){return this.pushBlockTracker(new wt(this.element,e))},e.prototype.pushBlockTracker=function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.blockStack.current
-return null!==n&&(n.newDestroyable(e),t||n.didAppendBounds(e)),this.__openBlock(),this.blockStack.push(e),e},e.prototype.popBlock=function(){return this.block().finalize(this),this.__closeBlock(),this.blockStack.pop()},e.prototype.__openBlock=function(){},e.prototype.__closeBlock=function(){},e.prototype.openElement=function(e){var t=this.__openElement(e)
-return this.constructing=t,t},e.prototype.__openElement=function(e){return this.dom.createElement(e,this.element)},e.prototype.flushElement=function(){var e=this.element,t=this.constructing
-this.__flushElement(e,t),this.constructing=null,this.operations=null,this.pushElement(t,null),this.didOpenElement(t)},e.prototype.__flushElement=function(e,t){this.dom.insertBefore(e,t,this.nextSibling)},e.prototype.closeElement=function(){this.willCloseElement(),this.popElement()},e.prototype.pushRemoteElement=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null
-this.__pushRemoteElement(e,t,n)},e.prototype.__pushRemoteElement=function(e,t,n){this.pushElement(e,n)
-var r=new _t(e)
-this.pushBlockTracker(r,!0)},e.prototype.popRemoteElement=function(){this.popBlock(),this.popElement()},e.prototype.pushElement=function(e,t){this.cursorStack.push(new Be(e,t))},e.prototype.didAddDestroyable=function(e){this.block().newDestroyable(e)},e.prototype.didAppendBounds=function(e){return this.block().didAppendBounds(e),e},e.prototype.didAppendNode=function(e){return this.block().didAppendNode(e),e},e.prototype.didOpenElement=function(e){return this.block().openElement(e),e},e.prototype.willCloseElement=function(){this.block().closeElement()},e.prototype.appendText=function(e){return this.didAppendNode(this.__appendText(e))},e.prototype.__appendText=function(e){var t=this.dom,n=this.element,r=this.nextSibling,i=t.createTextNode(e)
-return t.insertBefore(n,i,r),i},e.prototype.__appendNode=function(e){return this.dom.insertBefore(this.element,e,this.nextSibling),e},e.prototype.__appendFragment=function(e){var t,n=e.firstChild
-return n?(t=w(this.element,n,e.lastChild),this.dom.insertBefore(this.element,e,this.nextSibling),t):x(this.element,this.__appendComment(""))},e.prototype.__appendHTML=function(e){return this.dom.insertHTMLBefore(this.element,this.nextSibling,e)},e.prototype.appendDynamicHTML=function(e){var t=this.trustedContent(e)
-this.didAppendBounds(t)},e.prototype.appendDynamicText=function(e){var t=this.untrustedContent(e)
-return this.didAppendNode(t),t},e.prototype.appendDynamicFragment=function(e){var t=this.__appendFragment(e)
-this.didAppendBounds(t)},e.prototype.appendDynamicNode=function(e){var t=this.__appendNode(e),n=x(this.element,t)
-this.didAppendBounds(n)},e.prototype.trustedContent=function(e){return this.__appendHTML(e)},e.prototype.untrustedContent=function(e){return this.__appendText(e)},e.prototype.appendComment=function(e){return this.didAppendNode(this.__appendComment(e))},e.prototype.__appendComment=function(e){var t=this.dom,n=this.element,r=this.nextSibling,i=t.createComment(e)
-return t.insertBefore(n,i,r),i},e.prototype.__setAttribute=function(e,t,n){this.dom.setAttribute(this.constructing,e,t,n)},e.prototype.__setProperty=function(e,t){this.constructing[e]=t},e.prototype.setStaticAttribute=function(e,t,n){this.__setAttribute(e,t,n)},e.prototype.setDynamicAttribute=function(e,t,n,r){var i=this.constructing,o=this.env.attributeFor(i,e,n,r)
-return o.set(this,t,this.env),o},(0,t.createClass)(e,[{key:"element",get:function(){return this.cursorStack.current.element}},{key:"nextSibling",get:function(){return this.cursorStack.current.nextSibling}}]),e}(),At=function(){function e(e){this.parent=e,this.first=null,this.last=null,this.destroyables=null,this.nesting=0}return e.prototype.destroy=function(){var e,t=this.destroyables
-if(t&&t.length)for(e=0;e<t.length;e++)t[e].destroy()},e.prototype.parentElement=function(){return this.parent},e.prototype.firstNode=function(){return this.first&&this.first.firstNode()},e.prototype.lastNode=function(){return this.last&&this.last.lastNode()},e.prototype.openElement=function(e){this.didAppendNode(e),this.nesting++},e.prototype.closeElement=function(){this.nesting--},e.prototype.didAppendNode=function(e){0===this.nesting&&(this.first||(this.first=new yt(e)),this.last=new bt(e))},e.prototype.didAppendBounds=function(e){0===this.nesting&&(this.first||(this.first=e),this.last=e)},e.prototype.newDestroyable=function(e){this.destroyables=this.destroyables||[],this.destroyables.push(e)},e.prototype.finalize=function(e){this.first||e.appendComment("")},e}(),_t=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.destroy=function(){e.prototype.destroy.call(this),j(this)},n}(At),It=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype.reset=function(e){var t,n=this.destroyables
-if(n&&n.length)for(t=0;t<n.length;t++)e.didDestroy(n[t])
-var r=j(this)
-return this.first=null,this.last=null,this.destroyables=null,this.nesting=0,r},n}(At),wt=function(){function e(e,t){this.parent=e,this.boundList=t,this.parent=e,this.boundList=t}return e.prototype.destroy=function(){this.boundList.forEachNode(function(e){return e.destroy()})},e.prototype.parentElement=function(){return this.parent},e.prototype.firstNode=function(){var e=this.boundList.head()
-return e&&e.firstNode()},e.prototype.lastNode=function(){var e=this.boundList.tail()
-return e&&e.lastNode()},e.prototype.openElement=function(){},e.prototype.closeElement=function(){},e.prototype.didAppendNode=function(){},e.prototype.didAppendBounds=function(){},e.prototype.newDestroyable=function(){},e.prototype.finalize=function(){},e}(),xt=2147483648,kt=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new o.Stack,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[]
-this.inner=e,this.js=t}return e.prototype.slice=function(t,n){var r=void 0
-return r="number"==typeof t&&"number"==typeof n?this.inner.slice(t,n):"number"==typeof t&&void 0===n?this.inner.sliceFrom(t):this.inner.clone(),new e(r,this.js.slice(t,n))},e.prototype.sliceInner=function(e,t){var n,r=[]
-for(n=e;n<t;n++)r.push(this.get(n))
-return r},e.prototype.copy=function(e,t){this.inner.copy(e,t)},e.prototype.write=function(e,t){var n
-K(t)?this.inner.writeRaw(e,Z(t)):(n=this.js.length,this.js.push(t),this.inner.writeRaw(e,n|xt))},e.prototype.writeSmi=function(e,t){this.inner.writeSmi(e,t)},e.prototype.writeImmediate=function(e,t){this.inner.writeRaw(e,t)},e.prototype.get=function(e){var t=this.inner.getRaw(e)
-return t&xt?this.js[2147483647&t]:J(t)},e.prototype.getSmi=function(e){return this.inner.getSmi(e)},e.prototype.reset=function(){this.inner.reset(),this.js.length=0},(0,t.createClass)(e,[{key:"length",get:function(){return this.inner.len()}}]),e}(),jt=function(){function e(e,t,n){this.stack=e,this.fp=t,this.sp=n}return e.empty=function(){return new this(new kt,0,-1)},e.restore=function(e){var t,n=new kt
-for(t=0;t<e.length;t++)n.write(t,e[t])
-return new this(n,0,e.length-1)},e.prototype.push=function(e){this.stack.write(++this.sp,e)},e.prototype.pushSmi=function(e){this.stack.writeSmi(++this.sp,e)},e.prototype.pushImmediate=function(e){this.stack.writeImmediate(++this.sp,Z(e))},e.prototype.pushEncodedImmediate=function(e){this.stack.writeImmediate(++this.sp,e)},e.prototype.pushNull=function(){this.stack.writeImmediate(++this.sp,19)},e.prototype.dup=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.sp
-this.stack.copy(e,++this.sp)},e.prototype.copy=function(e,t){this.stack.copy(e,t)},e.prototype.pop=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1,t=this.stack.get(this.sp)
-return this.sp-=e,t},e.prototype.popSmi=function(){return this.stack.getSmi(this.sp--)},e.prototype.peek=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0
-return this.stack.get(this.sp-e)},e.prototype.peekSmi=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0
-return this.stack.getSmi(this.sp-e)},e.prototype.get=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.fp
-return this.stack.get(t+e)},e.prototype.getSmi=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.fp
-return this.stack.getSmi(t+e)},e.prototype.set=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.fp
-this.stack.write(n+t,e)},e.prototype.slice=function(e,t){return this.stack.slice(e,t)},e.prototype.sliceArray=function(e,t){return this.stack.sliceInner(e,t)},e.prototype.capture=function(e){var t=this.sp+1
-return this.stack.sliceInner(t-e,t)},e.prototype.reset=function(){this.stack.reset()},e.prototype.toArray=function(){return this.stack.sliceInner(this.fp,this.sp+1)},e}(),Et=function(){function e(e,t,r){var i=r.alwaysRevalidate,o=void 0!==i&&i
-this.frameStack=new n.Stack,this.env=e,this.constants=t.constants,this.dom=e.getDOM(),this.alwaysRevalidate=o}return e.prototype.execute=function(e,t){var n,r=this.frameStack
-for(this.try(e,t);;){if(r.isEmpty())break
-n=this.frame.nextStatement(),null!==n?n.evaluate(this):this.frameStack.pop()}},e.prototype.goto=function(e){this.frame.goto(e)},e.prototype.try=function(e,t){this.frameStack.push(new Rt(e,t))},e.prototype.throw=function(){this.frame.handleException(),this.frameStack.pop()},(0,t.createClass)(e,[{key:"frame",get:function(){return this.frameStack.current}}]),e}(),St=function(e){function n(n,r,i,o,s){var a=(0,t.possibleConstructorReturn)(this,e.call(this))
-return a.start=n,a.state=r,a.runtime=i,a.type="block",a.next=null,a.prev=null,a.children=s,a.bounds=o,a}return(0,t.inherits)(n,e),n.prototype.parentElement=function(){return this.bounds.parentElement()},n.prototype.firstNode=function(){return this.bounds.firstNode()},n.prototype.lastNode=function(){return this.bounds.lastNode()},n.prototype.evaluate=function(e){e.try(this.children,null)},n.prototype.destroy=function(){this.bounds.destroy()},n.prototype.didDestroy=function(){this.runtime.env.didDestroy(this.bounds)},n}(he),Tt=function(e){function i(n,i,o,s,a){var u=(0,t.possibleConstructorReturn)(this,e.call(this,n,i,o,s,a))
-return u.type="try",u.tag=u._tag=r.UpdatableTag.create(r.CONSTANT_TAG),u}return(0,t.inherits)(i,e),i.prototype.didInitializeChildren=function(){this._tag.inner.update((0,r.combineSlice)(this.children))},i.prototype.evaluate=function(e){e.try(this.children,this)},i.prototype.handleException=function(){var e=this,t=this.state,r=this.bounds,i=this.children,o=this.start,s=this.prev,a=this.next,u=this.runtime
-i.clear()
-var c=Ct.resume(u.env,r,r.reset(u.env)),l=Wt.resume(t,u,c),h=new n.LinkedList
-l.execute(o,function(n){n.stack=jt.restore(t.stack),n.updatingOpcodeStack.push(h),n.updateWith(e),n.updatingOpcodeStack.push(i)}),this.prev=s,this.next=a},i}(St),Pt=function(){function e(e,t){this.opcode=e,this.marker=t,this.didInsert=!1,this.didDelete=!1,this.map=e.map,this.updating=e.children}return e.prototype.insert=function(e,t,r,i){var o=this.map,s=this.opcode,a=this.updating,u=null,c=null
-i?(c=o[i],u=c.bounds.firstNode()):u=this.marker
-var l=s.vmForInsertion(u),h=null,d=s.start
-l.execute(d,function(i){o[e]=h=i.iterate(r,t),i.updatingOpcodeStack.push(new n.LinkedList),i.updateWith(h),i.updatingOpcodeStack.push(h.children)}),a.insertBefore(h,c),this.didInsert=!0},e.prototype.retain=function(){},e.prototype.move=function(e,t,n,r){var i=this.map,o=this.updating,s=i[e],a=i[r]||null
-r?k(s,a.firstNode()):k(s,this.marker),o.remove(s),o.insertBefore(s,a)},e.prototype.delete=function(e){var t=this.map,n=t[e]
-n.didDestroy(),j(n),this.updating.remove(n),delete t[e],this.didDelete=!0},e.prototype.done=function(){this.opcode.didInitializeChildren(this.didInsert||this.didDelete)},e}(),Ot=function(e){function i(i,o,s,a,u,c){var l=(0,t.possibleConstructorReturn)(this,e.call(this,i,o,s,a,u))
-l.type="list-block",l.map=(0,n.dict)(),l.lastIterated=r.INITIAL,l.artifacts=c
-var h=l._tag=r.UpdatableTag.create(r.CONSTANT_TAG)
-return l.tag=(0,r.combine)([c.tag,h]),l}return(0,t.inherits)(i,e),i.prototype.didInitializeChildren=function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0]
-this.lastIterated=this.artifacts.tag.value(),e&&this._tag.inner.update((0,r.combineSlice)(this.children))},i.prototype.evaluate=function(t){var n,i,o,s,a,u=this.artifacts,c=this.lastIterated
-u.tag.validate(c)||(n=this.bounds,i=t.dom,o=i.createComment(""),i.insertAfter(n.parentElement(),o,n.lastNode()),s=new Pt(this,o),a=new r.IteratorSynchronizer({target:s,artifacts:u}),a.sync(),this.parentElement().removeChild(o)),e.prototype.evaluate.call(this,t)},i.prototype.vmForInsertion=function(e){var t=this.bounds,n=this.state,r=this.runtime,i=Ct.forInitialRender(r.env,{element:t.parentElement(),nextSibling:e})
-return Wt.resume(n,r,i)},i}(St),Rt=function(){function e(e,t){this.ops=e,this.exceptionHandler=t,this.current=e.head()}return e.prototype.goto=function(e){this.current=e},e.prototype.nextStatement=function(){var e=this.current,t=this.ops
-return e&&(this.current=t.nextNode(e)),e},e.prototype.handleException=function(){this.exceptionHandler&&this.exceptionHandler.handleException()},e}(),Nt=function(){function e(e,t,n,r){this.env=e,this.program=t,this.updating=n,this.bounds=r}return e.prototype.rerender=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{alwaysRevalidate:!1},t=e.alwaysRevalidate,n=void 0!==t&&t,r=this.env,i=this.program,o=this.updating
-new Et(r,i,{alwaysRevalidate:n}).execute(o,this)},e.prototype.parentElement=function(){return this.bounds.parentElement()},e.prototype.firstNode=function(){return this.bounds.firstNode()},e.prototype.lastNode=function(){return this.bounds.lastNode()},e.prototype.handleException=function(){throw"this should never happen"},e.prototype.destroy=function(){this.bounds.destroy(),j(this.bounds)},e}(),Mt=function(){function e(){this.stack=null,this.positional=new Lt,this.named=new zt,this.blocks=new Bt}return e.prototype.empty=function(e){var t=e.sp+1
-return this.named.empty(e,t),this.positional.empty(e,t),this.blocks.empty(e,t),this},e.prototype.setup=function(e,t,n,r,i){this.stack=e
-var o=this.named,s=t.length,a=e.sp-s+1
-o.setup(e,a,s,t,i)
-var u=this.positional,c=a-r
-u.setup(e,c,r)
-var l=this.blocks,h=n.length
-l.setup(e,c-3*h,h,n)},e.prototype.at=function(e){return this.positional.at(e)},e.prototype.realloc=function(e){var t,n,r,i,o,s=this.stack
-if(e>0&&null!==s){for(t=this.positional,n=this.named,r=t.base+e,i=t.length+n.length,o=i-1;o>=0;o--)s.copy(o+t.base,o+r)
-t.base+=e,n.base+=e,s.sp+=e}},e.prototype.capture=function(){var e=0===this.positional.length?qt:this.positional.capture(),t=0===this.named.length?Ut:this.named.capture()
-return{tag:this.tag,length:this.length,positional:e,named:t}},e.prototype.clear=function(){var e=this.stack,t=this.length
-t>0&&null!==e&&e.pop(t)},(0,t.createClass)(e,[{key:"tag",get:function(){return(0,r.combineTagged)([this.positional,this.named])}},{key:"base",get:function(){return this.blocks.base}},{key:"length",get:function(){return this.positional.length+this.named.length+3*this.blocks.length}}]),e}(),Lt=function(){function e(){this.base=0,this.length=0,this.stack=null,this._tag=null,this._references=null}return e.prototype.empty=function(e,t){this.stack=e,this.base=t,this.length=0,this._tag=r.CONSTANT_TAG,this._references=n.EMPTY_ARRAY},e.prototype.setup=function(e,t,i){this.stack=e,this.base=t,this.length=i,0===i?(this._tag=r.CONSTANT_TAG,this._references=n.EMPTY_ARRAY):(this._tag=null,this._references=null)},e.prototype.at=function(e){var t=this.base,n=this.length,r=this.stack
-return e<0||e>=n?ge:r.get(e,t)},e.prototype.capture=function(){return new Dt(this.tag,this.references)},e.prototype.prepend=function(e){var t,n,r,i,o=e.length
-if(o>0){for(t=this.base,n=this.length,r=this.stack,this.base=t-=o,this.length=n+o,i=0;i<o;i++)r.set(e.at(i),i,t)
-this._tag=null,this._references=null}},(0,t.createClass)(e,[{key:"tag",get:function(){var e=this._tag
-return e||(e=this._tag=(0,r.combineTagged)(this.references)),e}},{key:"references",get:function(){var e,t,n,r=this._references
-return r||(e=this.stack,t=this.base,n=this.length,r=this._references=e.sliceArray(t,t+n)),r}}]),e}(),Dt=function(){function e(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length
-this.tag=e,this.references=t,this.length=n}return e.empty=function(){return new e(r.CONSTANT_TAG,n.EMPTY_ARRAY,0)},e.prototype.at=function(e){return this.references[e]},e.prototype.value=function(){return this.references.map(this.valueOf)},e.prototype.get=function(e){var t,n=this.references,r=this.length
-return"length"===e?de.create(r):(t=parseInt(e,10),t<0||t>=r?ge:n[t])},e.prototype.valueOf=function(e){return e.value()},e}(),zt=function(){function e(){this.base=0,this.length=0,this._references=null,this._names=n.EMPTY_ARRAY,this._atNames=n.EMPTY_ARRAY}return e.prototype.empty=function(e,t){this.stack=e,this.base=t,this.length=0,this._references=n.EMPTY_ARRAY,this._names=n.EMPTY_ARRAY,this._atNames=n.EMPTY_ARRAY},e.prototype.setup=function(e,t,r,i,o){this.stack=e,this.base=t,this.length=r,0===r?(this._references=n.EMPTY_ARRAY,this._names=n.EMPTY_ARRAY,this._atNames=n.EMPTY_ARRAY):(this._references=null,o?(this._names=i,this._atNames=null):(this._names=null,this._atNames=i))},e.prototype.has=function(e){return-1!==this.names.indexOf(e)},e.prototype.get=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=this.base,r=this.stack,i=t?this.names:this.atNames,o=i.indexOf(e)
-return-1===o?ge:r.get(o,n)},e.prototype.capture=function(){return new Ft(this.tag,this.names,this.references)},e.prototype.merge=function(e){var t,n,r,i,o,s,a=e.length
-if(a>0){for(t=this.names,n=this.length,r=this.stack,i=e.names,Object.isFrozen(t)&&0===t.length&&(t=[]),o=0;o<a;o++)s=i[o],-1===t.indexOf(s)&&(n=t.push(s),r.push(e.references[o]))
-this.length=n,this._references=null,this._names=t,this._atNames=null}},e.prototype.toSyntheticName=function(e){return e.slice(1)},e.prototype.toAtName=function(e){return"@"+e},(0,t.createClass)(e,[{key:"tag",get:function(){return(0,r.combineTagged)(this.references)}},{key:"names",get:function(){var e=this._names
-return e||(e=this._names=this._atNames.map(this.toSyntheticName)),e}},{key:"atNames",get:function(){var e=this._atNames
-return e||(e=this._atNames=this._names.map(this.toAtName)),e}},{key:"references",get:function(){var e,t,n,r=this._references
-return r||(e=this.base,t=this.length,n=this.stack,r=this._references=n.sliceArray(e,e+t)),r}}]),e}(),Ft=function(){function e(e,t,n){this.tag=e,this.names=t,this.references=n,this.length=t.length,this._map=null}return e.prototype.has=function(e){return-1!==this.names.indexOf(e)},e.prototype.get=function(e){var t=this.names,n=this.references,r=t.indexOf(e)
-return-1===r?ge:n[r]},e.prototype.value=function(){var e,t,r=this.names,i=this.references,o=(0,n.dict)()
-for(e=0;e<r.length;e++)t=r[e],o[t]=i[e].value()
-return o},(0,t.createClass)(e,[{key:"map",get:function(){var e,t,r,i,o=this._map
-if(!o)for(e=this.names,t=this.references,o=this._map=(0,n.dict)(),r=0;r<e.length;r++)i=e[r],o[i]=t[r]
-return o}}]),e}(),Bt=function(){function e(){this.internalValues=null,this.internalTag=null,this.names=n.EMPTY_ARRAY,this.length=0,this.base=0}return e.prototype.empty=function(e,t){this.stack=e,this.names=n.EMPTY_ARRAY,this.base=t,this.length=0,this.internalTag=r.CONSTANT_TAG,this.internalValues=n.EMPTY_ARRAY},e.prototype.setup=function(e,t,i,o){this.stack=e,this.names=o,this.base=t,this.length=i,0===i?(this.internalTag=r.CONSTANT_TAG,this.internalValues=n.EMPTY_ARRAY):(this.internalTag=null,this.internalValues=null)},e.prototype.has=function(e){return-1!==this.names.indexOf(e)},e.prototype.get=function(e){var t=this.base,n=this.stack,r=this.names,i=r.indexOf(e)
-if(-1===r.indexOf(e))return null
-var o=n.get(3*i,t),s=n.get(3*i+1,t),a=n.get(3*i+2,t)
-return null===a?null:[a,s,o]},e.prototype.capture=function(){return new Ht(this.names,this.values)},(0,t.createClass)(e,[{key:"values",get:function(){var e,t,n,r=this.internalValues
-return r||(e=this.base,t=this.length,n=this.stack,r=this.internalValues=n.sliceArray(e,e+3*t)),r}}]),e}(),Ht=function(){function e(e,t){this.names=e,this.values=t,this.length=e.length}return e.prototype.has=function(e){return-1!==this.names.indexOf(e)},e.prototype.get=function(e){var t=this.names.indexOf(e)
-return-1===t?null:[this.values[3*t+2],this.values[3*t+1],this.values[3*t]]},e}(),Ut=new Ft(r.CONSTANT_TAG,n.EMPTY_ARRAY,n.EMPTY_ARRAY),qt=new Dt(r.CONSTANT_TAG,n.EMPTY_ARRAY),Vt={tag:r.CONSTANT_TAG,length:0,positional:qt,named:Ut},Wt=function(){function e(e,t,r,i){var o=this
-this.runtime=e,this.elementStack=i,this.dynamicScopeStack=new n.Stack,this.scopeStack=new n.Stack,this.updatingOpcodeStack=new n.Stack,this.cacheGroups=new n.Stack,this.listBlockStack=new n.Stack,this.s0=null,this.s1=null,this.t0=null,this.t1=null,this.v0=null,this.heap=this.program.heap,this.constants=this.program.constants,this.elementStack=i,this.scopeStack.push(t),this.dynamicScopeStack.push(r),this.args=new Mt,this.inner=new vt(jt.empty(),this.heap,e.program,{debugBefore:function(e){return le.debugBefore(o,e,e.type)},debugAfter:function(e,t){le.debugAfter(o,e,e.type,t)}})}return e.prototype.fetch=function(e){this.stack.push(this[i.Register[e]])},e.prototype.load=function(e){this[i.Register[e]]=this.stack.pop()},e.prototype.fetchValue=function(e){return this[i.Register[e]]},e.prototype.loadValue=function(e,t){this[i.Register[e]]=t},e.prototype.pushFrame=function(){this.inner.pushFrame()},e.prototype.popFrame=function(){this.inner.popFrame()},e.prototype.goto=function(e){this.inner.goto(e)},e.prototype.call=function(e){this.inner.call(e)},e.prototype.returnTo=function(e){this.inner.returnTo(e)},e.prototype.return=function(){this.inner.return()},e.initial=function(t,r,i,o,s,a){var u=t.heap.scopesizeof(a),c=pt.root(i,u),l=new e({program:t,env:r},c,o,s)
-return l.pc=l.heap.getaddr(a),l.updatingOpcodeStack.push(new n.LinkedList),l},e.empty=function(t,r,i){var o={get:function(){return ge},set:function(){return ge},child:function(){return o}},s=new e({program:t,env:r},pt.root(ge,0),o,i)
-return s.updatingOpcodeStack.push(new n.LinkedList),s},e.resume=function(t,n,r){return new e(n,t.scope,t.dynamicScope,r)},e.prototype.capture=function(e){return{dynamicScope:this.dynamicScope(),scope:this.scope(),stack:this.stack.capture(e)}},e.prototype.beginCacheGroup=function(){this.cacheGroups.push(this.updating().tail())},e.prototype.commitCacheGroup=function(){var e=new Se("END"),t=this.updating(),i=this.cacheGroups.pop(),o=i?t.nextNode(i):t.head(),s=t.tail(),a=(0,r.combineSlice)(new n.ListSlice(o,s)),u=new je(a,e)
-t.insertBefore(u,o),t.append(new Ee(u)),t.append(e)},e.prototype.enter=function(e){var t=new n.LinkedList,r=this.capture(e),i=this.elements().pushUpdatableBlock(),o=new Tt(this.heap.gethandle(this.pc),r,this.runtime,i,t)
-this.didEnter(o)},e.prototype.iterate=function(e,t){var r=this.stack
-r.push(t),r.push(e)
-var i=this.capture(2),o=this.elements().pushUpdatableBlock()
-return new Tt(this.heap.gethandle(this.pc),i,this.runtime,o,new n.LinkedList)},e.prototype.enterItem=function(e,t){this.listBlock().map[e]=t,this.didEnter(t)},e.prototype.enterList=function(e){var t=new n.LinkedList,r=this.capture(0),i=this.elements().pushBlockList(t),o=this.stack.peek().artifacts,s=this.pc+e-this.currentOpSize,a=this.heap.gethandle(s),u=new Ot(a,r,this.runtime,i,t,o)
-this.listBlockStack.push(u),this.didEnter(u)},e.prototype.didEnter=function(e){this.updateWith(e),this.updatingOpcodeStack.push(e.children)},e.prototype.exit=function(){this.elements().popBlock(),this.updatingOpcodeStack.pop(),this.updating().tail().didInitializeChildren()},e.prototype.exitList=function(){this.exit(),this.listBlockStack.pop()},e.prototype.updateWith=function(e){this.updating().append(e)},e.prototype.listBlock=function(){return this.listBlockStack.current},e.prototype.updating=function(){return this.updatingOpcodeStack.current},e.prototype.elements=function(){return this.elementStack},e.prototype.scope=function(){return this.scopeStack.current},e.prototype.dynamicScope=function(){return this.dynamicScopeStack.current},e.prototype.pushChildScope=function(){this.scopeStack.push(this.scope().child())},e.prototype.pushDynamicScope=function(){var e=this.dynamicScope().child()
-return this.dynamicScopeStack.push(e),e},e.prototype.pushRootScope=function(e,t){var n=pt.sized(e)
-return t&&n.bindCallerScope(this.scope()),this.scopeStack.push(n),n},e.prototype.pushScope=function(e){this.scopeStack.push(e)},e.prototype.popScope=function(){this.scopeStack.pop()},e.prototype.popDynamicScope=function(){this.dynamicScopeStack.pop()},e.prototype.newDestroyable=function(e){this.elements().didAddDestroyable(e)},e.prototype.getSelf=function(){return this.scope().getSelf()},e.prototype.referenceForSymbol=function(e){return this.scope().getSymbol(e)},e.prototype.execute=function(e,t){this.pc=this.heap.getaddr(e),t&&t(this)
-for(var n=void 0;;)if(n=this.next(),n.done)break
-return n.value},e.prototype.next=function(){var e=this.env,t=this.program,n=this.updatingOpcodeStack,r=this.elementStack,i=this.inner.nextStatement(),o=void 0
-return null!==i?(this.inner.evaluateOuter(i,this),o={done:!1,value:null}):(this.stack.reset(),o={done:!0,value:new Nt(e,t,n.pop(),r.popBlock())}),o},e.prototype.bindDynamicScope=function(e){var t,n,r=this.dynamicScope()
-for(t=e.length-1;t>=0;t--)n=this.constants.getString(e[t]),r.set(n,this.stack.pop())},(0,t.createClass)(e,[{key:"stack",get:function(){return this.inner.stack},set:function(e){this.inner.stack=e}},{key:"currentOpSize",set:function(e){this.inner.currentOpSize=e},get:function(){return this.inner.currentOpSize}},{key:"pc",get:function(){return this.inner.pc},set:function(e){this.inner.pc=e}},{key:"ra",get:function(){return this.inner.ra},set:function(e){this.inner.ra=e}},{key:"fp",get:function(){return this.stack.fp},set:function(e){this.stack.fp=e}},{key:"sp",get:function(){return this.stack.sp},set:function(e){this.stack.sp=e}},{key:"program",get:function(){return this.runtime.program}},{key:"env",get:function(){return this.runtime.env}}]),e}(),Gt=function(){function e(e){this.vm=e}return e.prototype.next=function(){return this.vm.next()},e}(),Yt=function(){function e(e,t){this.scope=e,this.nameRef=t
-var n=this.varTag=r.UpdatableTag.create(r.CONSTANT_TAG)
-this.tag=(0,r.combine)([t.tag,n])}return e.prototype.value=function(){return this.getVar().value()},e.prototype.get=function(e){return this.getVar().get(e)},e.prototype.getVar=function(){var e=String(this.nameRef.value()),t=this.scope.get(e)
-return this.varTag.inner.update(t.tag),t},e}(),Kt=function(e){function n(n,r,i){var o=(0,t.possibleConstructorReturn)(this,e.call(this,n,r))
-return o.startingBlockDepth=i,o.candidate=null,o.injectedOmittedNode=!1,o.openBlockDepth=i-1,o}return(0,t.inherits)(n,e),n}(Be),Qt=function(e){function r(r,i,o){var s=(0,t.possibleConstructorReturn)(this,e.call(this,r,i,o))
-if(s.unmatchedAttributes=null,s.blockDepth=0,o)throw new Error("Rehydration with nextSibling not supported")
-for(var a=s.currentCursor.element.firstChild;!(null===a||ee(a)&&(0,n.isSerializationFirstNode)(a));)a=a.nextSibling
-return s.candidate=a,s}return(0,t.inherits)(r,e),r.prototype.pushElement=function(e,t){var n=this.blockDepth,r=void 0===n?0:n,i=new Kt(e,t,r),o=this.currentCursor
-o&&o.candidate&&(i.candidate=e.firstChild,o.candidate=e.nextSibling),this.cursorStack.push(i)},r.prototype.clearMismatch=function(e){var t,n=e,r=this.currentCursor
-if(null!==r){if((t=r.openBlockDepth)>=r.startingBlockDepth)for(;n&&(!ee(n)||ne(n)!==t);)n=this.remove(n)
-else for(;null!==n;)n=this.remove(n)
-r.nextSibling=n,r.candidate=null}},r.prototype.__openBlock=function(){var e=this.currentCursor
-if(null!==e){var t=this.blockDepth
-this.blockDepth++
-var n=e.candidate
-null!==n&&(ee(n)&&te(n)===t?(e.candidate=this.remove(n),e.openBlockDepth=t):this.clearMismatch(n))}},r.prototype.__closeBlock=function(){var e=this.currentCursor
-if(null!==e){var t=e.openBlockDepth
-this.blockDepth--
-var n=e.candidate
-null!==n&&(ee(n)&&ne(n)===t?(e.candidate=this.remove(n),e.openBlockDepth--):this.clearMismatch(n)),e.openBlockDepth===this.blockDepth&&(e.candidate=this.remove(e.nextSibling),e.openBlockDepth--)}},r.prototype.__appendNode=function(t){var n=this.candidate
-return n||e.prototype.__appendNode.call(this,t)},r.prototype.__appendHTML=function(t){var n,r,i,o,s=this.markerBounds()
-return s?(n=s.firstNode(),r=s.lastNode(),i=w(this.element,n.nextSibling,r.previousSibling),o=this.remove(n),this.remove(r),null!==o&&se(o)&&(this.candidate=this.remove(o),null!==this.candidate&&this.clearMismatch(this.candidate)),i):e.prototype.__appendHTML.call(this,t)},r.prototype.remove=function(e){var t=e.parentNode,n=e.nextSibling
-return t.removeChild(e),n},r.prototype.markerBounds=function(){var e,t,n=this.candidate
-if(n&&ie(n)){for(e=n,t=e.nextSibling;t&&!ie(t);)t=t.nextSibling
-return w(this.element,e,t)}return null},r.prototype.__appendText=function(t){var n,r,i=this.candidate
-return i?$(i)?(i.nodeValue!==t&&(i.nodeValue=t),this.candidate=i.nextSibling,i):i&&(oe(i)||se(i))?(this.candidate=i.nextSibling,this.remove(i),this.__appendText(t)):se(i)?(n=this.remove(i),this.candidate=n,r=this.dom.createTextNode(t),this.dom.insertBefore(this.element,r,n),r):(this.clearMismatch(i),e.prototype.__appendText.call(this,t)):e.prototype.__appendText.call(this,t)},r.prototype.__appendComment=function(t){var n=this.candidate
-return n&&ee(n)?(n.nodeValue!==t&&(n.nodeValue=t),this.candidate=n.nextSibling,n):(n&&this.clearMismatch(n),e.prototype.__appendComment.call(this,t))},r.prototype.__openElement=function(t){var n=this.candidate
-if(n&&re(n)&&ae(n,t))return this.unmatchedAttributes=[].slice.call(n.attributes),n
-if(n){if(re(n)&&"TBODY"===n.tagName)return this.pushElement(n,null),this.currentCursor.injectedOmittedNode=!0,this.__openElement(t)
-this.clearMismatch(n)}return e.prototype.__openElement.call(this,t)},r.prototype.__setAttribute=function(t,n,r){var i,o=this.unmatchedAttributes
-return o&&(i=ue(o,t))?(i.value!==n&&(i.value=n),void o.splice(o.indexOf(i),1)):e.prototype.__setAttribute.call(this,t,n,r)},r.prototype.__setProperty=function(t,n){var r,i=this.unmatchedAttributes
-return i&&(r=ue(i,t))?(r.value!==n&&(r.value=n),void i.splice(i.indexOf(r),1)):e.prototype.__setProperty.call(this,t,n)},r.prototype.__flushElement=function(t,n){var r,i=this.unmatchedAttributes
-if(i){for(r=0;r<i.length;r++)this.constructing.removeAttribute(i[r].name)
-this.unmatchedAttributes=null}else e.prototype.__flushElement.call(this,t,n)},r.prototype.willCloseElement=function(){var t=this.candidate,n=this.currentCursor
-null!==t&&this.clearMismatch(t),n&&n.injectedOmittedNode&&this.popElement(),e.prototype.willCloseElement.call(this)},r.prototype.getMarker=function(e,t){var n=e.querySelector('script[glmr="'+t+'"]')
-if(n)return n
-throw new Error("Cannot find serialized cursor for `in-element`")},r.prototype.__pushRemoteElement=function(e,t){var n,r,i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,s=this.getMarker(e,t)
-s.parentNode===e&&(n=this.currentCursor,r=n.candidate,this.pushElement(e,o),n.candidate=r,this.candidate=this.remove(s),i=new _t(e),this.pushBlockTracker(i,!0))},r.prototype.didAppendBounds=function(t){var n
-return e.prototype.didAppendBounds.call(this,t),this.candidate&&(n=t.lastNode(),this.candidate=n&&n.nextSibling),t},(0,t.createClass)(r,[{key:"currentCursor",get:function(){return this.cursorStack.current}},{key:"candidate",get:function(){return this.currentCursor?this.currentCursor.candidate:null},set:function(e){this.currentCursor.candidate=e}}]),r}(Ct)
-e.renderMain=function(e,t,n,r,i,o){var s=Wt.initial(e,t,n,r,i,o)
-return new Gt(s)},e.NULL_REFERENCE=me,e.UNDEFINED_REFERENCE=ge,e.PrimitiveReference=de,e.ConditionalReference=be,e.setDebuggerCallback=function(e){De=e},e.resetDebuggerCallback=function(){De=I},e.getDynamicVar=function(e,t){var n=e.dynamicScope(),r=t.positional.at(0)
-return new Yt(n,r)},e.LowLevelVM=Wt,e.UpdatingVM=Et,e.RenderResult=Nt,e.SimpleDynamicAttribute=at,e.DynamicAttribute=st,e.EMPTY_ARGS=Vt,e.Scope=pt,e.Environment=gt,e.DefaultEnvironment=mt,e.DEFAULT_CAPABILITIES={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!0,createArgs:!0,attributeHook:!1,elementHook:!1,dynamicScope:!0,createCaller:!1,updateHook:!0,createInstance:!0},e.MINIMAL_CAPABILITIES={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,dynamicScope:!1,createCaller:!1,updateHook:!1,createInstance:!1},e.CurriedComponentDefinition=_e,e.isCurriedComponentDefinition=a,e.curry=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null
-return new _e(e,t)},e.DOMChanges=Je,e.SVG_NAMESPACE=qe,e.IDOMChanges=Ze,e.DOMTreeConstruction=$e,e.isWhitespace=function(e){return Ye.test(e)},e.insertHTMLBefore=N,e.normalizeProperty=B,e.NewElementBuilder=Ct
-e.clientBuilder=function(e,t){return Ct.forInitialRender(e,t)},e.rehydrationBuilder=function(e,t){return Qt.forInitialRender(e,t)},e.RehydrateBuilder=Qt,e.ConcreteBounds=He,e.Cursor=Be,e.capabilityFlagsFrom=v,e.hasCapability=y}),e("@glimmer/util",["exports","ember-babel"],function(e,t){"use strict"
-function n(e){return e._guid=++s}function r(e){return e._guid||n(e)}function i(){return Object.create(null)}e.unreachable=e.expect=e.unwrap=e.EMPTY_ARRAY=e.ListSlice=e.ListNode=e.LinkedList=e.EMPTY_SLICE=e.dict=e.DictSet=e.Stack=e.SERIALIZATION_FIRST_NODE_STRING=e.isSerializationFirstNode=e.initializeGuid=e.ensureGuid=e.fillNulls=e.assign=e.assert=void 0
-var o=Object.keys,s=0,a=function(){function e(){this.dict=i()}return e.prototype.add=function(e){return"string"==typeof e?this.dict[e]=e:this.dict[r(e)]=e,this},e.prototype.delete=function(e){"string"==typeof e?delete this.dict[e]:e._guid&&delete this.dict[e._guid]},e}(),u=function(){function e(){this.stack=[],this.current=null}return e.prototype.push=function(e){this.current=e,this.stack.push(e)},e.prototype.pop=function(){var e=this.stack.pop(),t=this.stack.length
-return this.current=0===t?null:this.stack[t-1],void 0===e?null:e},e.prototype.isEmpty=function(){return 0===this.stack.length},(0,t.createClass)(e,[{key:"size",get:function(){return this.stack.length}}]),e}(),c=function(){function e(){this.clear()}return e.prototype.head=function(){return this._head},e.prototype.tail=function(){return this._tail},e.prototype.clear=function(){this._head=this._tail=null},e.prototype.toArray=function(){var e=[]
-return this.forEachNode(function(t){return e.push(t)}),e},e.prototype.nextNode=function(e){return e.next},e.prototype.forEachNode=function(e){for(var t=this._head;null!==t;)e(t),t=t.next},e.prototype.insertBefore=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null
-return null===t?this.append(e):(t.prev?t.prev.next=e:this._head=e,e.prev=t.prev,e.next=t,t.prev=e,e)},e.prototype.append=function(e){var t=this._tail
-return t?(t.next=e,e.prev=t,e.next=null):this._head=e,this._tail=e},e.prototype.remove=function(e){return e.prev?e.prev.next=e.next:this._head=e.next,e.next?e.next.prev=e.prev:this._tail=e.prev,e},e}(),l=function(){function e(e,t){this._head=e,this._tail=t}return e.prototype.forEachNode=function(e){for(var t=this._head;null!==t;)e(t),t=this.nextNode(t)},e.prototype.head=function(){return this._head},e.prototype.tail=function(){return this._tail},e.prototype.toArray=function(){var e=[]
-return this.forEachNode(function(t){return e.push(t)}),e},e.prototype.nextNode=function(e){return e===this._tail?null:e.next},e}(),h=new l(null,null),d=Object.freeze([])
-e.assert=function(e,t){if(!e)throw new Error(t||"assertion failure")},e.assign=function(e){var t,n,r,i,s
-for(t=1;t<arguments.length;t++)if(null!==(n=arguments[t])&&"object"==typeof n)for(r=o(n),i=0;i<r.length;i++)s=r[i],e[s]=n[s]
-return e},e.fillNulls=function(e){var t,n=new Array(e)
-for(t=0;t<e;t++)n[t]=null
-return n},e.ensureGuid=r,e.initializeGuid=n,e.isSerializationFirstNode=function(e){return"%+b:0%"===e.nodeValue},e.SERIALIZATION_FIRST_NODE_STRING="%+b:0%",e.Stack=u,e.DictSet=a,e.dict=i,e.EMPTY_SLICE=h,e.LinkedList=c,e.ListNode=function(e){this.next=null,this.prev=null,this.value=e},e.ListSlice=l,e.EMPTY_ARRAY=d,e.unwrap=function(e){if(null===e||void 0===e)throw new Error("Expected value to be present")
-return e},e.expect=function(e,t){if(null===e||void 0===e)throw new Error(t)
-return e},e.unreachable=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"unreachable"
-return new Error(e)}}),e("@glimmer/vm",["exports"],function(e){"use strict"
-var t;(function(e){e[e.pc=0]="pc",e[e.ra=1]="ra",e[e.fp=2]="fp",e[e.sp=3]="sp",e[e.s0=4]="s0",e[e.s1=5]="s1",e[e.t0=6]="t0",e[e.t1=7]="t1",e[e.v0=8]="v0"})(t||(e.Register=t={})),e.Register=t}),e("@glimmer/wire-format",["exports"],function(e){"use strict"
-function t(e){return function(t){return Array.isArray(t)&&t[0]===e}}function n(e){return e[0]===i.StaticAttr||e[0]===i.DynamicAttr||e[0]===i.TrustingAttr}function r(e){return e[0]===i.StaticArg||e[0]===i.DynamicArg}var i;(function(e){e[e.Text=0]="Text",e[e.Append=1]="Append",e[e.Comment=2]="Comment",e[e.Modifier=3]="Modifier",e[e.Block=4]="Block",e[e.Component=5]="Component",e[e.OpenElement=6]="OpenElement",e[e.OpenSplattedElement=7]="OpenSplattedElement",e[e.FlushElement=8]="FlushElement",e[e.CloseElement=9]="CloseElement",e[e.StaticAttr=10]="StaticAttr",e[e.DynamicAttr=11]="DynamicAttr",e[e.AttrSplat=12]="AttrSplat",e[e.Yield=13]="Yield",e[e.Partial=14]="Partial",e[e.DynamicArg=15]="DynamicArg",e[e.StaticArg=16]="StaticArg",e[e.TrustingAttr=17]="TrustingAttr",e[e.Debugger=18]="Debugger",e[e.ClientSideStatement=19]="ClientSideStatement",e[e.Unknown=20]="Unknown",e[e.Get=21]="Get",e[e.MaybeLocal=22]="MaybeLocal",e[e.HasBlock=23]="HasBlock",e[e.HasBlockParams=24]="HasBlockParams",e[e.Undefined=25]="Undefined",e[e.Helper=26]="Helper",e[e.Concat=27]="Concat",e[e.ClientSideExpression=28]="ClientSideExpression"})(i||(e.Ops=i={}))
-var o=t(i.Modifier),s=t(i.FlushElement),a=t(i.Get),u=t(i.MaybeLocal)
-e.is=t,e.isModifier=o,e.isFlushElement=s,e.isAttribute=n,e.isArgument=r,e.isGet=a,e.isMaybeLocal=u,e.Ops=i}),e("backburner",["exports","ember-babel"],function(e,t){"use strict"
-function n(e){var t,n,r,i,o=void 0
-return"function"==typeof MutationObserver?(t=0,n=new MutationObserver(e),r=document.createTextNode(""),n.observe(r,{characterData:!0}),o=function(){return t=++t%2,r.data=""+t,t}):"function"==typeof Promise?(i=Promise.resolve(),o=function(){return i.then(e)}):o=function(){return h(e,0)},{setTimeout:function(e,t){return h(e,t)},clearTimeout:function(e){return clearTimeout(e)},now:function(){return Date.now()},next:o,clearNext:d}}function r(e){var t=typeof e
-return"number"===t&&e===e||"string"===t&&p.test(e)}function i(e){return e.onError||e.onErrorTarget&&e.onErrorTarget[e.onErrorMethod]}function o(e,t,n){var r,i,o=-1
-for(r=0,i=n.length;r<i;r+=4)if(n[r]===e&&n[r+1]===t){o=r
-break}return o}function s(e,t){var n,r=-1
-for(n=3;n<t.length;n+=4)if(t[n]===e){r=n-3
-break}return r}function a(e,t){for(var n=0,r=t.length-6,i=void 0,o=void 0;n<r;)o=(r-n)/6,i=n+o-o%6,e>=t[i]?n=i+6:r=i
-return e>=t[n]?n+6:n}function u(){var e,t,n,r,i,o,s=arguments.length,a=void 0,u=void 0,c=void 0
-if(0===s);else if(1===s)c=null,u=arguments[0]
-else if(e=2,t=arguments[0],n=arguments[1],r=typeof n,"function"===r?(c=t,u=n):null!==t&&"string"===r&&n in t?(c=t,u=c[n]):"function"==typeof t&&(e=1,c=null,u=t),s>e)for(i=s-e,a=new Array(i),o=0;o<i;o++)a[o]=arguments[o+e]
-return[c,u,a]}function c(){var e,t=u.apply(void 0,arguments),n=t[0],i=t[1],o=t[2],s=0,a=void 0!==o?o.length:0
-return a>0&&(e=o[a-1],r(e)&&(s=parseInt(o.pop(),10))),[n,i,o,s]}function l(){var e,t=void 0,n=void 0,i=void 0,o=void 0,s=void 0
-return 2===arguments.length?(n=arguments[0],s=arguments[1],t=null):(e=u.apply(void 0,arguments),t=e[0],n=e[1],o=e[2],void 0===o?s=0:(s=o.pop(),r(s)||(i=!0===s,s=o.pop()))),s=parseInt(s,10),[t,n,o,s,i]}e.buildPlatform=void 0
-var h=setTimeout,d=function(){},p=/\d+/,f=function(){function e(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}
-this._queueBeingFlushed=[],this.targetQueues=new Map,this.index=0,this._queue=[],this.name=e,this.options=t,this.globalOptions=n}return e.prototype.stackFor=function(e){var t
-if(e<this._queue.length)return t=this._queue[3*e+4],t?t.stack:null},e.prototype.flush=function(e){var t,n,r=this.options,o=r.before,s=r.after,a=void 0,u=void 0,c=void 0,l=void 0
-this.targetQueues.clear(),0===this._queueBeingFlushed.length&&(this._queueBeingFlushed=this._queue,this._queue=[]),void 0!==o&&o()
-var h=void 0,d=this._queueBeingFlushed
-if(d.length>0)for(t=i(this.globalOptions),h=t?this.invokeWithOnError:this.invoke,n=this.index;n<d.length;n+=4)if(this.index+=4,u=d[n+1],null!==u&&(a=d[n],c=d[n+2],l=d[n+3],h(a,u,c,t,l)),this.index!==this._queueBeingFlushed.length&&this.globalOptions.mustYield&&this.globalOptions.mustYield())return 1
-void 0!==s&&s(),this._queueBeingFlushed.length=0,this.index=0,!1!==e&&this._queue.length>0&&this.flush(!0)},e.prototype.hasWork=function(){return this._queueBeingFlushed.length>0||this._queue.length>0},e.prototype.cancel=function(e){var t=e.target,n=e.method,r=this._queue,i=this.targetQueues.get(t)
-void 0!==i&&i.delete(n)
-var s=o(t,n,r)
-return s>-1?(r.splice(s,4),!0):(r=this._queueBeingFlushed,(s=o(t,n,r))>-1&&(r[s+1]=null,!0))},e.prototype.push=function(e,t,n,r){return this._queue.push(e,t,n,r),{queue:this,target:e,method:t}},e.prototype.pushUnique=function(e,t,n,r){var i,o,s=this.targetQueues.get(e)
-void 0===s&&(s=new Map,this.targetQueues.set(e,s))
-var a=s.get(t)
-return void 0===a?(i=this._queue.push(e,t,n,r)-4,s.set(t,i)):(o=this._queue,o[a+2]=n,o[a+3]=r),{queue:this,target:e,method:t}},e.prototype.invoke=function(e,t,n){void 0===n?t.call(e):t.apply(e,n)},e.prototype.invokeWithOnError=function(e,t,n,r,i){try{void 0===n?t.call(e):t.apply(e,n)}catch(e){r(e,i)}},e}(),g=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments[1]
-this.queues={},this.queueNameIndex=0,this.queueNames=e,e.reduce(function(e,n){return e[n]=new f(n,t[n],t),e},this.queues)}return e.prototype.schedule=function(e,t,n,r,i,o){var s=this.queues,a=s[e]
-if(void 0===a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist")
-if(void 0===n||null===n)throw new Error("You attempted to schedule an action in a queue ("+e+") for a method that doesn't exist")
-return this.queueNameIndex=0,i?a.pushUnique(t,n,r,o):a.push(t,n,r,o)},e.prototype.flush=function(){for(var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=void 0,n=void 0,r=this.queueNames.length;this.queueNameIndex<r;)if(n=this.queueNames[this.queueNameIndex],t=this.queues[n],!1===t.hasWork()){if(this.queueNameIndex++,e&&this.queueNameIndex<r)return 1}else if(1===t.flush(!1))return 1},e}(),m=function(e){for(var t=e(),n=t.next();!1===n.done;)n.value(),n=t.next()},v=function(){},y=0,b=0,C=0,A=0,_=0,I=0,w=0,x=0,k=0,j=0,E=0,S=0,T=0,P=0,O=0,R=0,N=0,M=0,L=0,D=0,z=0,F=function(){function e(e,t){var r=this
-this.DEBUG=!1,this.currentInstance=null,this.instanceStack=[],this._debouncees=[],this._throttlers=[],this._eventCallbacks={end:[],begin:[]},this._timerTimeoutId=null,this._timers=[],this._autorun=null,this.queueNames=e,this.options=t||{},"string"==typeof this.options.defaultQueue?this._defaultQueue=this.options.defaultQueue:this._defaultQueue=this.queueNames[0],this._onBegin=this.options.onBegin||v,this._onEnd=this.options.onEnd||v,this._boundRunExpiredTimers=this._runExpiredTimers.bind(this),this._boundAutorunEnd=function(){L++,null!==r._autorun&&(r._autorun=null,r._end(!0))}
-var i=this.options._buildPlatform||n
-this._platform=i(this._boundAutorunEnd)}return e.prototype.begin=function(){b++
-var e=this.options,t=this.currentInstance,n=void 0
-return null!==this._autorun?(n=t,this._cancelAutorun()):(null!==t&&(z++,this.instanceStack.push(t)),D++,n=this.currentInstance=new g(this.queueNames,e),A++,this._trigger("begin",n,t)),this._onBegin(n,t),n},e.prototype.end=function(){C++,this._end(!1)},e.prototype.on=function(e,t){if("function"!=typeof t)throw new TypeError("Callback must be a function")
-var n=this._eventCallbacks[e]
-if(void 0===n)throw new TypeError("Cannot on() event "+e+" because it does not exist")
-n.push(t)},e.prototype.off=function(e,t){var n,r=this._eventCallbacks[e]
-if(!e||void 0===r)throw new TypeError("Cannot off() event "+e+" because it does not exist")
-var i=!1
-if(t)for(n=0;n<r.length;n++)r[n]===t&&(i=!0,r.splice(n,1),n--)
-if(!i)throw new TypeError("Cannot off() callback that does not exist")},e.prototype.run=function(){_++
-var e=u.apply(void 0,arguments),t=e[0],n=e[1],r=e[2]
-return this._run(t,n,r)},e.prototype.join=function(){I++
-var e=u.apply(void 0,arguments),t=e[0],n=e[1],r=e[2]
-return this._join(t,n,r)},e.prototype.defer=function(e,t,n){var r,i,o
-for(w++,r=arguments.length,i=Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o]
-return this.schedule.apply(this,[e,t,n].concat(i))},e.prototype.schedule=function(e){for(x++,t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r]
-var t,n,r,i=u.apply(void 0,n),o=i[0],s=i[1],a=i[2],c=this.DEBUG?new Error:void 0
-return this._ensureInstance().schedule(e,o,s,a,!1,c)},e.prototype.scheduleIterable=function(e,t){k++
-var n=this.DEBUG?new Error:void 0
-return this._ensureInstance().schedule(e,null,m,[t],!1,n)},e.prototype.deferOnce=function(e,t,n){var r,i,o
-for(j++,r=arguments.length,i=Array(r>3?r-3:0),o=3;o<r;o++)i[o-3]=arguments[o]
-return this.scheduleOnce.apply(this,[e,t,n].concat(i))},e.prototype.scheduleOnce=function(e){for(E++,t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r]
-var t,n,r,i=u.apply(void 0,n),o=i[0],s=i[1],a=i[2],c=this.DEBUG?new Error:void 0
-return this._ensureInstance().schedule(e,o,s,a,!0,c)},e.prototype.setTimeout=function(){return S++,this.later.apply(this,arguments)},e.prototype.later=function(){T++
-var e=c.apply(void 0,arguments),t=e[0],n=e[1],r=e[2],i=e[3]
-return this._later(t,n,r,i)},e.prototype.throttle=function(){var e=this
-P++
-var t=l.apply(void 0,arguments),n=t[0],r=t[1],i=t[2],a=t[3],u=t[4],c=void 0===u||u,h=o(n,r,this._throttlers)
-if(h>-1)return this._throttlers[h+2]=i,this._throttlers[h+3]
-var d=this._platform.setTimeout(function(){var t=s(d,e._throttlers),n=e._throttlers.splice(t,4),r=n[0],i=n[1],o=n[2]
-!1===c&&e._run(r,i,o)},a)
-return c&&this._join(n,r,i),this._throttlers.push(n,r,i,d),d},e.prototype.debounce=function(){var e,t=this
-O++
-var n=l.apply(void 0,arguments),r=n[0],i=n[1],a=n[2],u=n[3],c=n[4],h=void 0!==c&&c,d=o(r,i,this._debouncees)
-d>-1&&(e=this._debouncees[d+3],this._platform.clearTimeout(e),this._debouncees.splice(d,4))
-var p=this._platform.setTimeout(function(){var e=s(p,t._debouncees),n=t._debouncees.splice(e,4),r=n[0],i=n[1],o=n[2]
-!1===h&&t._run(r,i,o)},u)
-return h&&-1===d&&this._join(r,i,a),this._debouncees.push(r,i,a,p),p},e.prototype.cancelTimers=function(){var e,t
-for(R++,e=3;e<this._throttlers.length;e+=4)this._platform.clearTimeout(this._throttlers[e])
-for(this._throttlers=[],t=3;t<this._debouncees.length;t+=4)this._platform.clearTimeout(this._debouncees[t])
-this._debouncees=[],this._clearTimerTimeout(),this._timers=[],this._cancelAutorun()},e.prototype.hasTimers=function(){return this._timers.length>0||this._debouncees.length>0||this._throttlers.length>0||null!==this._autorun},e.prototype.cancel=function(e){if(N++,void 0===e||null===e)return!1
-var t=typeof e
-return"number"===t?this._cancelItem(e,this._throttlers)||this._cancelItem(e,this._debouncees):"string"===t?this._cancelLaterTimer(e):!("object"!==t||!e.queue||!e.method)&&e.queue.cancel(e)},e.prototype.ensureInstance=function(){this._ensureInstance()},e.prototype._end=function(e){var t=this.currentInstance,n=null
-if(null===t)throw new Error("end called without begin")
-var r=!1,i=void 0
-try{i=t.flush(e)}finally{r||(r=!0,1===i?this._scheduleAutorun():(this.currentInstance=null,this.instanceStack.length>0&&(n=this.instanceStack.pop(),this.currentInstance=n),this._trigger("end",t,n),this._onEnd(t,n)))}},e.prototype._join=function(e,t,n){return null===this.currentInstance?this._run(e,t,n):void 0===e&&void 0===n?t():t.apply(e,n)},e.prototype._run=function(e,t,n){var r=i(this.options)
-if(this.begin(),r)try{return t.apply(e,n)}catch(e){r(e)}finally{this.end()}else try{return t.apply(e,n)}finally{this.end()}},e.prototype._cancelAutorun=function(){null!==this._autorun&&(this._platform.clearNext(this._autorun),this._autorun=null)},e.prototype._later=function(e,t,n,r){var i,o=this.DEBUG?new Error:void 0,s=this._platform.now()+r,u=y+++""
-return 0===this._timers.length?(this._timers.push(s,u,e,t,n,o),this._installTimerTimeout()):(i=a(s,this._timers),this._timers.splice(i,0,s,u,e,t,n,o),0===i&&this._reinstallTimerTimeout()),u},e.prototype._cancelLaterTimer=function(e){var t
-for(t=1;t<this._timers.length;t+=6)if(this._timers[t]===e)return t-=1,this._timers.splice(t,6),0===t&&this._reinstallTimerTimeout(),!0
-return!1},e.prototype._cancelItem=function(e,t){var n=s(e,t)
-return n>-1&&(this._platform.clearTimeout(e),t.splice(n,4),!0)},e.prototype._trigger=function(e,t,n){var r,i=this._eventCallbacks[e]
-if(void 0!==i)for(r=0;r<i.length;r++)i[r](t,n)},e.prototype._runExpiredTimers=function(){this._timerTimeoutId=null,this._timers.length>0&&(this.begin(),this._scheduleExpiredTimers(),this.end())},e.prototype._scheduleExpiredTimers=function(){for(var e,t,n,r,i=this._timers,o=0,s=i.length,a=this._defaultQueue,u=this._platform.now();o<s&&!(i[o]>u);o+=6)e=i[o+2],t=i[o+3],n=i[o+4],r=i[o+5],this.currentInstance.schedule(a,e,t,n,!1,r)
-i.splice(0,o),this._installTimerTimeout()},e.prototype._reinstallTimerTimeout=function(){this._clearTimerTimeout(),this._installTimerTimeout()},e.prototype._clearTimerTimeout=function(){null!==this._timerTimeoutId&&(this._platform.clearTimeout(this._timerTimeoutId),this._timerTimeoutId=null)},e.prototype._installTimerTimeout=function(){if(0!==this._timers.length){var e=this._timers[0],t=this._platform.now(),n=Math.max(0,e-t)
-this._timerTimeoutId=this._platform.setTimeout(this._boundRunExpiredTimers,n)}},e.prototype._ensureInstance=function(){var e=this.currentInstance
-return null===e&&(e=this.begin(),this._scheduleAutorun()),e},e.prototype._scheduleAutorun=function(){M++
-var e=this._platform.next
-this._autorun=e()},(0,t.createClass)(e,[{key:"counters",get:function(){return{begin:b,end:C,events:{begin:A,end:0},autoruns:{created:M,completed:L},run:_,join:I,defer:w,schedule:x,scheduleIterable:k,deferOnce:j,scheduleOnce:E,setTimeout:S,later:T,throttle:P,debounce:O,cancelTimers:R,cancel:N,loops:{total:D,nested:z}}}},{key:"defaultQueue",get:function(){return this._defaultQueue}}]),e}()
-F.Queue=f,e.buildPlatform=n,e.default=F}),e("container",["exports","ember-debug","ember-utils","ember-environment"],function(e,t,n,r){"use strict"
-function i(e,t){return!1!==e.registry.getOption(t,"singleton")}function o(e,t){return!1!==e.registry.getOption(t,"instantiate")}function s(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t
-if(!r.source&&!r.namespace||(i=e.registry.expandLocalLookup(t,r)))return!1!==r.singleton&&void 0!==(n=e.cache[i])?n:d(e,i,t,r)}function a(e,t,n){var r=e.factoryManagerCache[t]
-if(void 0!==r)return r
-var i=e.registry.resolve(t)
-if(void 0!==i){var o=new x(e,i,n,t)
-return e.factoryManagerCache[t]=o,o}}function u(e,t,n){var r=n.instantiate
-return!1!==n.singleton&&!r&&i(e,t)&&!o(e,t)}function c(e,t,n){var r=n.instantiate
-return!1!==n.singleton&&!1!==r&&i(e,t)&&o(e,t)}function l(e,t,n){var r=n.instantiate,s=n.singleton
-return!(!1!==r||!1!==s&&i(e,t)||o(e,t))}function h(e,t,n){var r=n.instantiate,s=n.singleton
-return!1!==r&&(!1!==s||i(e,t))&&o(e,t)}function d(e,t,n,r){var i=a(e,t,n)
-if(void 0!==i){if(c(e,n,r))return e.cache[t]=i.create()
-if(h(e,n,r))return i.create()
-if(u(e,n,r)||l(e,n,r))return i.class
-throw new Error("Could not create factory")}}function p(e,t,n){var r,o,a,u,c,l=n.injections
-for(void 0===l&&(l=n.injections={}),r=0;r<t.length;r++)o=t[r],a=o.property,u=o.specifier,c=o.source,l[a]=c?s(e,u,{source:c}):s(e,u),n.isDynamic||(n.isDynamic=!i(e,u))}function f(e,t,n){var r={injections:void 0,isDyanmic:!1}
-return void 0!==t&&p(e,t,r),void 0!==n&&p(e,n,r),r}function g(e,t){var n=e.registry,r=t.split(":"),i=r[0]
-return f(e,n.getTypeInjections(i),n.getInjections(t))}function m(e){var t,n,r,i=e.cache,o=Object.keys(i)
-for(t=0;t<o.length;t++)n=o[t],r=i[n],r.destroy&&r.destroy()}function v(e){m(e),e.cache=(0,n.dictionary)(null),e.factoryManagerCache=(0,n.dictionary)(null)}function y(e,t){var n=e.cache[t]
-delete e.factoryManagerCache[t],n&&(delete e.cache[t],n.destroy&&n.destroy())}function b(e){e.resolver={resolve:e.resolver}}function C(e,t,n,r){var i=e._localLookupCache,o=i[t]
-o||(o=i[t]=Object.create(null))
-var s=r||n,a=o[s]
-if(void 0!==a)return a
-var u=e.resolver.expandLocalLookup(t,n,r)
-return o[s]=u}function A(e,t,n){var r=t
-if(void 0===n||!n.source&&!n.namespace||(r=e.expandLocalLookup(t,n))){var i=e._resolveCache[r]
-if(void 0!==i)return i
-if(!e._failSet.has(r)){var o=void 0
-return e.resolver&&(o=e.resolver.resolve(r)),void 0===o&&(o=e.registrations[r]),void 0===o?e._failSet.add(r):e._resolveCache[r]=o,o}}}function _(e,t,n,r){return void 0!==e.resolve(t,{source:n,namespace:r})}e.FACTORY_FOR=e.Container=e.privatize=e.Registry=void 0
-var I=function(){function e(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
-this.registry=e,this.owner=t.owner||null,this.cache=(0,n.dictionary)(t.cache||null),this.factoryManagerCache=(0,n.dictionary)(t.factoryManagerCache||null),this.isDestroyed=!1}return e.prototype.lookup=function(e,t){return s(this,this.registry.normalize(e),t)},e.prototype.destroy=function(){v(this),this.isDestroyed=!0},e.prototype.reset=function(e){this.isDestroyed||(void 0===e?v(this):y(this,this.registry.normalize(e)))},e.prototype.ownerInjection=function(){var e
-return e={},e[n.OWNER]=this.owner,e},e.prototype.factoryFor=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.registry.normalize(e)
-if(!t.source&&!t.namespace||(n=this.registry.expandLocalLookup(e,t)))return a(this,n,e)},e}(),w=new WeakMap,x=function(){function e(e,t,n,r){this.container=e,this.owner=e.owner,this.class=t,this.fullName=n,this.normalizedName=r,this.madeToString=void 0,this.injections=void 0,w.set(this,this)}return e.prototype.toString=function(){return void 0===this.madeToString&&(this.madeToString=this.container.registry.makeToString(this.class,this.fullName)),this.madeToString},e.prototype.create=function(e){var t,r,i,o=this.injections
-void 0===o&&(t=g(this.container,this.normalizedName),r=t.injections,i=t.isDynamic,o=r,i||(this.injections=r))
-var s=o
-if(void 0!==e&&(s=(0,n.assign)({},o,e)),!this.class.create)throw new Error("Failed to create an instance of '"+this.normalizedName+"'. Most likely an improperly defined class or an invalid module export.")
-"function"==typeof this.class._initFactory?this.class._initFactory(this):(void 0!==e&&void 0!==s||(s=(0,n.assign)({},s)),(0,n.setOwner)(s,this.owner))
-var a=this.class.create(s)
-return w.set(a,this),a},e}(),k=/^[^:]+:[^:]+$/,j=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
-this.fallback=e.fallback||null,this.resolver=e.resolver||null,r.ENV._ENABLE_RESOLVER_FUNCTION_SUPPORT,"function"==typeof this.resolver&&!0===r.ENV._ENABLE_RESOLVER_FUNCTION_SUPPORT&&b(this),this.registrations=(0,n.dictionary)(e.registrations||null),this._typeInjections=(0,n.dictionary)(null),this._injections=(0,n.dictionary)(null),this._localLookupCache=Object.create(null),this._normalizeCache=(0,n.dictionary)(null),this._resolveCache=(0,n.dictionary)(null),this._failSet=new Set,this._options=(0,n.dictionary)(null),this._typeOptions=(0,n.dictionary)(null)}return e.prototype.container=function(e){return new I(this,e)},e.prototype.register=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this.normalize(e)
-this._failSet.delete(r),this.registrations[r]=t,this._options[r]=n},e.prototype.unregister=function(e){var t=this.normalize(e)
-this._localLookupCache=Object.create(null),delete this.registrations[t],delete this._resolveCache[t],delete this._options[t],this._failSet.delete(t)},e.prototype.resolve=function(e,t){var n,r=A(this,this.normalize(e),t)
-return void 0===r&&null!==this.fallback&&(r=(n=this.fallback).resolve.apply(n,arguments)),r},e.prototype.describe=function(e){return null!==this.resolver&&this.resolver.lookupDescription?this.resolver.lookupDescription(e):null!==this.fallback?this.fallback.describe(e):e},e.prototype.normalizeFullName=function(e){return null!==this.resolver&&this.resolver.normalize?this.resolver.normalize(e):null!==this.fallback?this.fallback.normalizeFullName(e):e},e.prototype.normalize=function(e){return this._normalizeCache[e]||(this._normalizeCache[e]=this.normalizeFullName(e))},e.prototype.makeToString=function(e,t){return null!==this.resolver&&this.resolver.makeToString?this.resolver.makeToString(e,t):null!==this.fallback?this.fallback.makeToString(e,t):e.toString()},e.prototype.has=function(e,t){if(!this.isValidFullName(e))return!1
-var n=t&&t.source&&this.normalize(t.source),r=t&&t.namespace||void 0
-return _(this,this.normalize(e),n,r)},e.prototype.optionsForType=function(e,t){this._typeOptions[e]=t},e.prototype.getOptionsForType=function(e){var t=this._typeOptions[e]
-return void 0===t&&null!==this.fallback&&(t=this.fallback.getOptionsForType(e)),t},e.prototype.options=function(e,t){var n=this.normalize(e)
-this._options[n]=t},e.prototype.getOptions=function(e){var t=this.normalize(e),n=this._options[t]
-return void 0===n&&null!==this.fallback&&(n=this.fallback.getOptions(e)),n},e.prototype.getOption=function(e,t){var n=this._options[e]
-if(void 0!==n&&void 0!==n[t])return n[t]
-var r=e.split(":")[0]
-return n=this._typeOptions[r],n&&void 0!==n[t]?n[t]:null!==this.fallback?this.fallback.getOption(e,t):void 0},e.prototype.typeInjection=function(e,t,n){n.split(":")[0];(this._typeInjections[e]||(this._typeInjections[e]=[])).push({property:t,specifier:n})},e.prototype.injection=function(e,t,n){var r=this.normalize(n)
-if(-1===e.indexOf(":"))return this.typeInjection(e,t,r)
-var i=this.normalize(e);(this._injections[i]||(this._injections[i]=[])).push({property:t,specifier:r})},e.prototype.knownForType=function(e){var t,r,i=(0,n.dictionary)(null),o=Object.keys(this.registrations)
-for(t=0;t<o.length;t++)r=o[t],r.split(":")[0]===e&&(i[r]=!0)
-var s=void 0,a=void 0
-return null!==this.fallback&&(s=this.fallback.knownForType(e)),null!==this.resolver&&this.resolver.knownForType&&(a=this.resolver.knownForType(e)),(0,n.assign)({},s,i,a)},e.prototype.isValidFullName=function(e){return k.test(e)},e.prototype.getInjections=function(e){var t,n=this._injections[e]
-return null!==this.fallback&&void 0!==(t=this.fallback.getInjections(e))&&(n=void 0===n?t:n.concat(t)),n},e.prototype.getTypeInjections=function(e){var t,n=this._typeInjections[e]
-return null!==this.fallback&&void 0!==(t=this.fallback.getTypeInjections(e))&&(n=void 0===n?t:n.concat(t)),n},e.prototype.expandLocalLookup=function(e,t){var n,r
-return null!==this.resolver&&this.resolver.expandLocalLookup?(n=this.normalize(e),r=this.normalize(t.source),C(this,n,r,t.namespace)):null!==this.fallback?this.fallback.expandLocalLookup(e,t):null},e}(),E=(0,n.dictionary)(null),S=(""+Math.random()+Date.now()).replace(".","")
-e.Registry=j,e.privatize=function(e){var t=e[0],r=E[t]
-if(r)return r
-var i=t.split(":"),o=i[0],s=i[1]
-return E[t]=(0,n.intern)(o+":"+s+"-"+S)},e.Container=I,e.FACTORY_FOR=w}),e("dag-map",["exports"],function(e){"use strict"
-var t=function(){function e(){this._vertices=new n}return e.prototype.add=function(e,t,n,r){if(!e)throw new Error("argument `key` is required")
-var i,o=this._vertices,s=o.add(e)
-if(s.val=t,n)if("string"==typeof n)o.addEdge(s,o.add(n))
-else for(var i=0;i<n.length;i++)o.addEdge(s,o.add(n[i]))
-if(r)if("string"==typeof r)o.addEdge(o.add(r),s)
-else for(i=0;i<r.length;i++)o.addEdge(o.add(r[i]),s)},e.prototype.addEdges=function(e,t,n,r){this.add(e,t,n,r)},e.prototype.each=function(e){this._vertices.walk(e)},e.prototype.topsort=function(e){this.each(e)},e}()
-e.default=t
-var n=function(){function e(){this.length=0,this.stack=new r,this.path=new r,this.result=new r}return e.prototype.add=function(e){if(!e)throw new Error("missing key")
-var t,n,r=0|this.length
-for(t=0;t<r;t++)if(n=this[t],n.key===e)return n
-return this.length=r+1,this[r]={idx:r,key:e,val:void 0,out:!1,flag:!1,length:0}},e.prototype.addEdge=function(e,t){this.check(e,t.key)
-var n,r=0|t.length
-for(n=0;n<r;n++)if(t[n]===e.idx)return
-t.length=r+1,t[r]=e.idx,e.out=!0},e.prototype.walk=function(e){var t,n
-for(this.reset(),t=0;t<this.length;t++)n=this[t],n.out||this.visit(n,"")
-this.each(this.result,e)},e.prototype.check=function(e,t){var n,r
-if(e.key===t)throw new Error("cycle detected: "+t+" <- "+t)
-if(0!==e.length){for(n=0;n<e.length;n++)if(this[e[n]].key===t)throw new Error("cycle detected: "+t+" <- "+e.key+" <- "+t)
-if(this.reset(),this.visit(e,t),this.path.length>0)throw r="cycle detected: "+t,this.each(this.path,function(e){r+=" <- "+e}),new Error(r)}},e.prototype.reset=function(){var e,t
-for(this.stack.length=0,this.path.length=0,this.result.length=0,e=0,t=this.length;e<t;e++)this[e].flag=!1},e.prototype.visit=function(e,t){var n,r,i=this,o=i.stack,s=i.path,a=i.result
-for(o.push(e.idx);o.length;)if((n=0|o.pop())>=0){if(r=this[n],r.flag)continue
-if(r.flag=!0,s.push(n),t===r.key)break
-o.push(~n),this.pushIncoming(r)}else s.pop(),a.push(~n)},e.prototype.pushIncoming=function(e){var t,n,r=this.stack
-for(t=e.length-1;t>=0;t--)n=e[t],this[n].flag||r.push(n)},e.prototype.each=function(e,t){var n,r,i
-for(n=0,r=e.length;n<r;n++)i=this[e[n]],t(i.key,i.val)},e}(),r=function(){function e(){this.length=0}return e.prototype.push=function(e){this[this.length++]=0|e},e.prototype.pop=function(){return 0|this[--this.length]},e}()}),e("ember-application/index",["exports","ember-application/lib/system/application","ember-application/lib/system/application-instance","ember-application/lib/system/resolver","ember-application/lib/system/engine","ember-application/lib/system/engine-instance","ember-application/lib/system/engine-parent"],function(e,t,n,r,i,o,s){"use strict"
-Object.defineProperty(e,"Application",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"ApplicationInstance",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"Resolver",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"Engine",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"EngineInstance",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"getEngineParent",{enumerable:!0,get:function(){return s.getEngineParent}}),Object.defineProperty(e,"setEngineParent",{enumerable:!0,get:function(){return s.setEngineParent}})}),e("ember-application/lib/system/application-instance",["exports","ember-utils","ember-metal","ember-environment","ember-views","ember-application/lib/system/engine-instance","ember-glimmer"],function(e,t,n,r,i,o,s){"use strict"
-var a=o.default.extend({application:null,customEvents:null,rootElement:null,init:function(){this._super.apply(this,arguments),this.application._watchInstance(this),this.register("-application-instance:main",this,{instantiate:!1})},_bootSync:function(e){var t
-return this._booted?this:(e=new u(e),this.setupRegistry(e),e.rootElement?this.rootElement=e.rootElement:this.rootElement=this.application.rootElement,e.location&&(t=(0,n.get)(this,"router"),(0,n.set)(t,"location",e.location)),this.application.runInstanceInitializers(this),e.isInteractive&&this.setupEventDispatcher(),this._booted=!0,this)},setupRegistry:function(e){this.constructor.setupRegistry(this.__registry__,e)},router:(0,n.computed)(function(){return this.lookup("router:main")}).readOnly(),didCreateRootView:function(e){e.appendTo(this.rootElement)},startRouting:function(){(0,n.get)(this,"router").startRouting(),this._didSetupRouter=!0},setupRouter:function(){if(!this._didSetupRouter){this._didSetupRouter=!0;(0,n.get)(this,"router").setupRouter()}},handleURL:function(e){var t=(0,n.get)(this,"router")
-return this.setupRouter(),t.handleURL(e)},setupEventDispatcher:function(){var e=this.lookup("event_dispatcher:main"),r=(0,n.get)(this.application,"customEvents"),i=(0,n.get)(this,"customEvents"),o=(0,t.assign)({},r,i)
-return e.setup(o,this.rootElement),e},getURL:function(){return(0,n.get)(this,"router.url")},visit:function(e){var t=this
-this.setupRouter()
-var r=this.__container__.lookup("-environment:main"),i=(0,n.get)(this,"router"),o=function(){return r.options.shouldRender?(0,s.renderSettled)().then(function(){return t}):t},a=function(e){if(e.error)throw e.error
-if("TransitionAborted"===e.name&&i._routerMicrolib.activeTransition)return i._routerMicrolib.activeTransition.then(o,a)
-throw"TransitionAborted"===e.name?new Error(e.message):e},u=(0,n.get)(i,"location")
-return u.setURL(e),i.handleURL(u.getURL()).then(o,a)},willDestroy:function(){this._super.apply(this,arguments),this.application._unwatchInstance(this)}})
-a.reopenClass({setupRegistry:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
-t.toEnvironment||(t=new u(t)),e.register("-environment:main",t.toEnvironment(),{instantiate:!1}),e.register("service:-document",t.document,{instantiate:!1}),this._super(e,t)}})
-var u=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
-this.jQuery=i.jQuery,this.isInteractive=r.environment.hasDOM,this._renderMode=e._renderMode,void 0!==e.isBrowser?this.isBrowser=!!e.isBrowser:this.isBrowser=r.environment.hasDOM,this.isBrowser||(this.jQuery=null,this.isInteractive=!1,this.location="none"),void 0!==e.shouldRender?this.shouldRender=!!e.shouldRender:this.shouldRender=!0,this.shouldRender||(this.jQuery=null,this.isInteractive=!1),e.document?this.document=e.document:this.document="undefined"!=typeof document?document:null,e.rootElement&&(this.rootElement=e.rootElement),void 0!==e.location&&(this.location=e.location),void 0!==e.jQuery&&(this.jQuery=e.jQuery),void 0!==e.isInteractive&&(this.isInteractive=!!e.isInteractive)}return e.prototype.toEnvironment=function(){var e=(0,t.assign)({},r.environment)
-return e.hasDOM=this.isBrowser,e.isInteractive=this.isInteractive,e._renderMode=this._renderMode,e.options=this,e},e}()
-e.default=a}),e("ember-application/lib/system/application",["exports","ember-babel","ember-utils","ember-environment","ember-debug","ember-metal","ember-runtime","ember-views","ember-routing","ember-application/lib/system/application-instance","container","ember-application/lib/system/engine","ember-glimmer"],function(e,t,n,r,i,o,s,a,u,c,l,h,d){"use strict"
-function p(e){e.register("router:main",u.Router.extend()),e.register("-view-registry:main",{create:function(){return(0,n.dictionary)(null)}}),e.register("route:basic",u.Route),e.register("event_dispatcher:main",a.EventDispatcher),e.injection("router:main","namespace","application:main"),e.register("location:auto",u.AutoLocation),e.register("location:hash",u.HashLocation),e.register("location:history",u.HistoryLocation),e.register("location:none",u.NoneLocation),e.register((0,l.privatize)(g),{create:function(){return new u.BucketCache}}),e.register("service:router",u.RouterService),e.injection("service:router","_router","router:main")}function f(){m||(m=!0,r.environment.hasDOM&&!a.jQueryDisabled&&o.libraries.registerCoreLibrary("jQuery",(0,a.jQuery)().jquery))}var g=(0,t.taggedTemplateLiteralLoose)(["-bucket-cache:main"],["-bucket-cache:main"]),m=!1,v=h.default.extend({rootElement:"body",eventDispatcher:null,customEvents:null,autoboot:!0,_globalsMode:!0,_applicationInstances:null,init:function(){this._super.apply(this,arguments),this.$||(this.$=a.jQuery),f(),this._readinessDeferrals=1,this._booted=!1,this._applicationInstances=[],this.autoboot=this._globalsMode=!!this.autoboot,this._globalsMode&&this._prepareForGlobalsMode(),this.autoboot&&this.waitForDOMReady()},buildInstance:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
-return e.base=this,e.application=this,c.default.create(e)},_watchInstance:function(e){this._applicationInstances.push(e)},_unwatchInstance:function(e){var t=this._applicationInstances.indexOf(e)
-t>-1&&this._applicationInstances.splice(t,1)},_prepareForGlobalsMode:function(){this.Router=(this.Router||u.Router).extend(),this._buildDeprecatedInstance()},_buildDeprecatedInstance:function(){var e=this.buildInstance()
-this.__deprecatedInstance__=e,this.__container__=e.__container__},waitForDOMReady:function(){!this.$||this.$.isReady?(0,o.schedule)("actions",this,"domReady"):this.$().ready((0,o.bind)(this,"domReady"))},domReady:function(){this.isDestroyed||this._bootSync()},deferReadiness:function(){this._readinessDeferrals++},advanceReadiness:function(){0===--this._readinessDeferrals&&(0,o.once)(this,this.didBecomeReady)},boot:function(){if(this._bootPromise)return this._bootPromise
-try{this._bootSync()}catch(e){}return this._bootPromise},_bootSync:function(){if(!this._booted){var e=this._bootResolver=s.RSVP.defer()
-this._bootPromise=e.promise
-try{this.runInitializers(),(0,s.runLoadHooks)("application",this),this.advanceReadiness()}catch(t){throw e.reject(t),t}}},reset:function(){var e=this.__deprecatedInstance__
-this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,this._booted=!1,(0,o.join)(this,function(){(0,o.run)(e,"destroy"),this._buildDeprecatedInstance(),(0,o.schedule)("actions",this,"_bootSync")})},didBecomeReady:function(){var e
-try{(0,i.isTesting)()||((0,o.processAllNamespaces)(),(0,o.setNamespaceSearchDisabled)(!0)),this.autoboot&&(e=void 0,e=this._globalsMode?this.__deprecatedInstance__:this.buildInstance(),e._bootSync(),this.ready(),e.startRouting()),this._bootResolver.resolve(this),this._booted=!0}catch(e){throw this._bootResolver.reject(e),e}},ready:function(){return this},willDestroy:function(){this._super.apply(this,arguments),(0,o.setNamespaceSearchDisabled)(!1),this._booted=!1,this._bootPromise=null,this._bootResolver=null,s._loaded.application===this&&(s._loaded.application=void 0),this._applicationInstances.length&&(this._applicationInstances.forEach(function(e){return e.destroy()}),this._applicationInstances.length=0)},visit:function(e,t){var n=this
-return this.boot().then(function(){var r=n.buildInstance()
-return r.boot(t).then(function(){return r.visit(e)}).catch(function(e){throw(0,o.run)(r,"destroy"),e})})}})
-v.reopenClass({buildRegistry:function(){var e=this._super.apply(this,arguments)
-return p(e),(0,d.setupApplicationRegistry)(e),e}}),e.default=v}),e("ember-application/lib/system/engine-instance",["exports","ember-babel","ember-utils","ember-runtime","ember-debug","container","ember-application/lib/system/engine-parent"],function(e,t,n,r,i,o,s){"use strict"
-var a=(0,t.taggedTemplateLiteralLoose)(["-bucket-cache:main"],["-bucket-cache:main"]),u=(0,t.taggedTemplateLiteralLoose)(["template-compiler:main"],["template-compiler:main"]),c=r.Object.extend(r.RegistryProxyMixin,r.ContainerProxyMixin,{base:null,init:function(){this._super.apply(this,arguments),(0,n.guidFor)(this)
-var e=this.base
-e||(e=this.application,this.base=e)
-var t=this.__registry__=new o.Registry({fallback:e.__registry__})
-this.__container__=t.container({owner:this}),this._booted=!1},boot:function(e){var t=this
-return this._bootPromise?this._bootPromise:(this._bootPromise=new r.RSVP.Promise(function(n){return n(t._bootSync(e))}),this._bootPromise)},_bootSync:function(e){return this._booted?this:(this.cloneParentDependencies(),this.setupRegistry(e),this.base.runInstanceInitializers(this),this._booted=!0,this)},setupRegistry:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.__container__.lookup("-environment:main")
-this.constructor.setupRegistry(this.__registry__,e)},unregister:function(e){this.__container__.reset(e),this._super.apply(this,arguments)},buildChildEngineInstance:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.lookup("engine:"+e)
-if(!n)throw new i.Error("You attempted to mount the engine '"+e+"', but it is not registered with its parent.")
-var r=n.buildInstance(t)
-return(0,s.setEngineParent)(r,this),r},cloneParentDependencies:function(){var e=this,t=(0,s.getEngineParent)(this);["route:basic","service:-routing","service:-glimmer-environment"].forEach(function(n){return e.register(n,t.resolveRegistration(n))})
-var n=t.lookup("-environment:main")
-this.register("-environment:main",n,{instantiate:!1})
-var r=["router:main",(0,o.privatize)(a),"-view-registry:main","renderer:-"+(n.isInteractive?"dom":"inert"),"service:-document",(0,o.privatize)(u)]
-n.isInteractive&&r.push("event_dispatcher:main"),r.forEach(function(n){return e.register(n,t.lookup(n),{instantiate:!1})}),this.inject("view","_environment","-environment:main"),this.inject("route","_environment","-environment:main")}})
-c.reopenClass({setupRegistry:function(e,t){t&&(e.injection("view","_environment","-environment:main"),e.injection("route","_environment","-environment:main"),t.isInteractive?(e.injection("view","renderer","renderer:-dom"),e.injection("component","renderer","renderer:-dom")):(e.injection("view","renderer","renderer:-inert"),e.injection("component","renderer","renderer:-inert")))}}),e.default=c}),e("ember-application/lib/system/engine-parent",["exports","ember-utils"],function(e,t){"use strict"
-e.ENGINE_PARENT=void 0,e.getEngineParent=function(e){return e[n]},e.setEngineParent=function(e,t){e[n]=t}
-var n=e.ENGINE_PARENT=(0,t.symbol)("ENGINE_PARENT")}),e("ember-application/lib/system/engine",["exports","ember-babel","ember-utils","ember-runtime","container","dag-map","ember-debug","ember-metal","ember-application/lib/system/resolver","ember-application/lib/system/engine-instance","ember-routing","ember-extension-support","ember-views","ember-glimmer"],function(e,t,n,r,i,o,s,a,u,c,l,h,d,p){"use strict"
-function f(e){var t=[]
-for(var n in e)t.push(n)
-return t}function g(e){return(e.get("Resolver")||u.default).create({namespace:e})}function m(e,t){return function(t){var n
-void 0!==this.superclass[e]&&this.superclass[e]===this[e]&&(n={},n[e]=Object.create(this[e]),this.reopenClass(n)),this[e][t.name]=t}}function v(e){e.optionsForType("component",{singleton:!1}),e.optionsForType("view",{singleton:!1}),e.register("controller:basic",r.Controller,{instantiate:!1}),e.injection("view","_viewRegistry","-view-registry:main"),e.injection("renderer","_viewRegistry","-view-registry:main"),e.injection("event_dispatcher:main","_viewRegistry","-view-registry:main"),e.injection("route","_topLevelViewTemplate","template:-outlet"),e.injection("view:-outlet","namespace","application:main"),e.injection("controller","target","router:main"),e.injection("controller","namespace","application:main"),e.injection("router","_bucketCache",(0,i.privatize)(y)),e.injection("route","_bucketCache",(0,i.privatize)(y)),e.injection("route","_router","router:main"),e.register("service:-routing",l.RoutingService),e.injection("service:-routing","router","router:main"),e.register("resolver-for-debugging:main",e.resolver,{instantiate:!1}),e.injection("container-debug-adapter:main","resolver","resolver-for-debugging:main"),e.injection("data-adapter:main","containerDebugAdapter","container-debug-adapter:main"),e.register("container-debug-adapter:main",h.ContainerDebugAdapter),e.register("component-lookup:main",d.ComponentLookup)}var y=(0,t.taggedTemplateLiteralLoose)(["-bucket-cache:main"],["-bucket-cache:main"]),b=r.Namespace.extend(r.RegistryProxyMixin,{init:function(){this._super.apply(this,arguments),this.buildRegistry()},_initializersRan:!1,ensureInitializers:function(){this._initializersRan||(this.runInitializers(),this._initializersRan=!0)},buildInstance:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
-return this.ensureInitializers(),e.base=this,c.default.create(e)},buildRegistry:function(){return this.__registry__=this.constructor.buildRegistry(this)},initializer:function(e){this.constructor.initializer(e)},instanceInitializer:function(e){this.constructor.instanceInitializer(e)},runInitializers:function(){var e=this
-this._runInitializer("initializers",function(t,n){n.initialize(e)})},runInstanceInitializers:function(e){this._runInitializer("instanceInitializers",function(t,n){n.initialize(e)})},_runInitializer:function(e,t){var n,r=(0,a.get)(this.constructor,e),i=f(r),s=new o.default,u=void 0
-for(n=0;n<i.length;n++)u=r[i[n]],s.add(u.name,u,u.before,u.after)
-s.topsort(t)}})
-b.reopenClass({initializers:Object.create(null),instanceInitializers:Object.create(null),initializer:m("initializers","initializer"),instanceInitializer:m("instanceInitializers","instance initializer"),buildRegistry:function(e){var t=new i.Registry({resolver:g(e)})
-return t.set=a.set,t.register("application:main",e,{instantiate:!1}),v(t),(0,p.setupEngineRegistry)(t),t},resolver:null,Resolver:null}),e.default=b}),e("ember-application/lib/system/resolver",["exports","ember-utils","ember-metal","ember-debug","ember-runtime","ember-application/lib/utils/validate-type","ember-glimmer"],function(e,t,n,r,i,o,s){"use strict"
-e.Resolver=void 0,e.Resolver=i.Object.extend({namespace:null,normalize:null,resolve:null,parseName:null,lookupDescription:null,makeToString:null,resolveOther:null,_logLookup:null})
-var a=i.Object.extend({namespace:null,init:function(){this._parseNameCache=(0,t.dictionary)(null)},normalize:function(e){var t,n=e.split(":"),r=n[0],i=n[1]
-return"template"!==r?(t=i.replace(/(\.|_|-)./g,function(e){return e.charAt(1).toUpperCase()}),r+":"+t):e},resolve:function(e){var t=this.parseName(e),n=t.resolveMethodName,r=void 0
-return this[n]&&(r=this[n](t)),r=r||this.resolveOther(t),r&&(0,o.default)(r,t),r},parseName:function(e){return this._parseNameCache[e]||(this._parseNameCache[e]=this._parseName(e))},_parseName:function(e){var t,r,o=e.split(":"),s=o[0],a=o[1],u=a,c=(0,n.get)(this,"namespace"),l=c,h=u.lastIndexOf("/"),d=-1!==h?u.slice(0,h):null
-"template"!==s&&-1!==h&&(t=u.split("/"),u=t[t.length-1],r=i.String.capitalize(t.slice(0,-1).join(".")),l=(0,n.findNamespace)(r))
-var p="main"===a?"Main":i.String.classify(s)
-if(!u||!s)throw new TypeError("Invalid fullName: `"+e+"`, must be of the form `type:name` ")
-return{fullName:e,type:s,fullNameWithoutType:a,dirname:d,name:u,root:l,resolveMethodName:"resolve"+p}},lookupDescription:function(e){var t=this.parseName(e),n=void 0
-return"template"===t.type?"template at "+t.fullNameWithoutType.replace(/\./g,"/"):(n=t.root+"."+i.String.classify(t.name).replace(/\./g,""),"model"!==t.type&&(n+=i.String.classify(t.type)),n)},makeToString:function(e){return e.toString()},useRouterNaming:function(e){"basic"===e.name?e.name="":e.name=e.name.replace(/\./g,"_")},resolveTemplate:function(e){var t=e.fullNameWithoutType.replace(/\./g,"/")
-return(0,s.getTemplate)(t)||(0,s.getTemplate)(i.String.decamelize(t))},resolveView:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveController:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveRoute:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveModel:function(e){var t=i.String.classify(e.name)
-return(0,n.get)(e.root,t)},resolveHelper:function(e){return this.resolveOther(e)},resolveOther:function(e){var t=i.String.classify(e.name)+i.String.classify(e.type)
-return(0,n.get)(e.root,t)},resolveMain:function(e){var t=i.String.classify(e.type)
-return(0,n.get)(e.root,t)},knownForType:function(e){var r,o,s,a=(0,n.get)(this,"namespace"),u=i.String.classify(e),c=new RegExp(u+"$"),l=(0,t.dictionary)(null),h=Object.keys(a)
-for(r=0;r<h.length;r++)o=h[r],c.test(o)&&(s=this.translateToContainerFullname(e,o),l[s]=!0)
-return l},translateToContainerFullname:function(e,t){var n=i.String.classify(e),r=t.slice(0,-1*n.length)
-return e+":"+i.String.dasherize(r)}})
-e.default=a}),e("ember-application/lib/utils/validate-type",["exports","ember-debug"],function(e,t){"use strict"
-e.default=function(e,t){var r=n[t.type]
-if(r){r[1],r[2]}}
-var n={route:["assert","isRouteFactory","Ember.Route"],component:["deprecate","isComponentFactory","Ember.Component"],view:["deprecate","isViewFactory","Ember.View"],service:["deprecate","isServiceFactory","Ember.Service"]}}),e("ember-babel",["exports"],function(e){"use strict"
-function t(e,t){e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):o(e,t))}function n(e,t){return e.raw=t,e}function r(e,t){for(var n=0;n<t.length;n++){var r=t[n]
-r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}function o(e,t){for(var n=Object.getOwnPropertyNames(t),r=0;r<n.length;r++){var i=n[r],o=Object.getOwnPropertyDescriptor(t,i)
-o&&o.configurable&&void 0===e[i]&&Object.defineProperty(e,i,o)}return e}e.inherits=t,e.taggedTemplateLiteralLoose=n,e.createClass=i,e.defaults=o
-e.possibleConstructorReturn=function(e,t){return!t||"object"!=typeof t&&"function"!=typeof t?e:t},e.slice=Array.prototype.slice}),e("ember-console",["exports","ember-debug"],function(e,t){"use strict"
-e.default={log:function(){var e
-return(e=console).log.apply(e,arguments)},warn:function(){var e
-return(e=console).warn.apply(e,arguments)},error:function(){var e
-return(e=console).error.apply(e,arguments)},info:function(){var e
-return(e=console).info.apply(e,arguments)},debug:function(){var e,t
-return console.debug?(t=console).debug.apply(t,arguments):(e=console).info.apply(e,arguments)},assert:function(){var e
-return(e=console).assert.apply(e,arguments)}}}),e("ember-debug/index",["exports","ember-debug/lib/warn","ember-debug/lib/deprecate","ember-debug/lib/features","ember-debug/lib/error","ember-debug/lib/testing","ember-environment","ember/features"],function(e,t,n,r,i,o,s,a){"use strict"
-e._warnIfUsingStrippedFeatureFlags=e.getDebugFunction=e.setDebugFunction=e.deprecateFunc=e.runInDebug=e.debugFreeze=e.debugSeal=e.deprecate=e.debug=e.warn=e.info=e.assert=e.setTesting=e.isTesting=e.Error=e.isFeatureEnabled=e.registerDeprecationHandler=e.registerWarnHandler=void 0,Object.defineProperty(e,"registerWarnHandler",{enumerable:!0,get:function(){return t.registerHandler}}),Object.defineProperty(e,"registerDeprecationHandler",{enumerable:!0,get:function(){return n.registerHandler}}),Object.defineProperty(e,"isFeatureEnabled",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"Error",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"isTesting",{enumerable:!0,get:function(){return o.isTesting}}),Object.defineProperty(e,"setTesting",{enumerable:!0,get:function(){return o.setTesting}})
-var u=(a.DEFAULT_FEATURES,a.FEATURES,function(){})
-e.assert=u,e.info=u,e.warn=u,e.debug=u,e.deprecate=u,e.debugSeal=u,e.debugFreeze=u,e.runInDebug=u,e.deprecateFunc=function(){return arguments[arguments.length-1]},e.setDebugFunction=u,e.getDebugFunction=u,e._warnIfUsingStrippedFeatureFlags=void 0}),e("ember-debug/lib/deprecate",["exports","ember-debug/lib/error","ember-environment","ember-debug/index","ember-debug/lib/handlers"],function(e){"use strict"
-e.missingOptionsUntilDeprecation=e.missingOptionsIdDeprecation=e.missingOptionsDeprecation=e.registerHandler=void 0,e.default=void 0,e.registerHandler=function(){},e.missingOptionsDeprecation=void 0,e.missingOptionsIdDeprecation=void 0,e.missingOptionsUntilDeprecation=void 0}),e("ember-debug/lib/error",["exports","ember-babel"],function(e,t){"use strict"
-var n=function(e){function n(r){var i,o=(0,t.possibleConstructorReturn)(this,e.call(this))
-if(!(o instanceof n))return i=new n(r),(0,t.possibleConstructorReturn)(o,i)
-var s=Error.call(o,r)
-return o.stack=s.stack,o.description=s.description,o.fileName=s.fileName,o.lineNumber=s.lineNumber,o.message=s.message,o.name=s.name,o.number=s.number,o.code=s.code,o}return(0,t.inherits)(n,e),n}(function(e){function t(){e.apply(this,arguments)}return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t}(Error))
-e.default=n}),e("ember-debug/lib/features",["exports","ember-environment","ember/features"],function(e,t,n){"use strict"
-e.default=function(e){var n=r[e]
-return!0===n||!1===n||void 0===n?n:!!t.ENV.ENABLE_OPTIONAL_FEATURES}
-var r=n.FEATURES}),e("ember-debug/lib/handlers",["exports"],function(e){"use strict"
-e.HANDLERS={},e.registerHandler=function(){},e.invoke=function(){}})
-e("ember-debug/lib/testing",["exports"],function(e){"use strict"
-function t(){return n}e.isTesting=t,e.setTesting=function(e){n=!!e}
-var n=!1}),e("ember-debug/lib/warn",["exports","ember-environment","ember-debug/lib/deprecate","ember-debug/index","ember-debug/lib/handlers"],function(e){"use strict"
-e.missingOptionsDeprecation=e.missingOptionsIdDeprecation=e.registerHandler=void 0,e.default=function(){},e.registerHandler=function(){},e.missingOptionsIdDeprecation=void 0,e.missingOptionsDeprecation=void 0}),e("ember-environment",["exports"],function(e){"use strict"
-function t(e){return e&&e.Object===Object?e:void 0}function n(e){return!1!==e}function r(e){return!0===e}var i=t(function(e){return e&&void 0===e.nodeType?e:void 0}("object"==typeof global&&global))||t("object"==typeof self&&self)||t("object"==typeof window&&window)||mainContext||new Function("return this")(),o="object"==typeof i.EmberENV&&i.EmberENV||"object"==typeof i.ENV&&i.ENV||{}
-o.ENABLE_ALL_FEATURES&&(o.ENABLE_OPTIONAL_FEATURES=!0),o.EXTEND_PROTOTYPES=function(e){return!1===e?{String:!1,Array:!1,Function:!1}:e&&!0!==e?{String:n(e.String),Array:n(e.Array),Function:n(e.Function)}:{String:!0,Array:!0,Function:!0}}(o.EXTEND_PROTOTYPES),o.LOG_STACKTRACE_ON_DEPRECATION=n(o.LOG_STACKTRACE_ON_DEPRECATION),o.LOG_VERSION=n(o.LOG_VERSION),o.RAISE_ON_DEPRECATION=r(o.RAISE_ON_DEPRECATION),o._APPLICATION_TEMPLATE_WRAPPER=n(o._APPLICATION_TEMPLATE_WRAPPER),o._TEMPLATE_ONLY_GLIMMER_COMPONENTS=r(o._TEMPLATE_ONLY_GLIMMER_COMPONENTS)
-var s="undefined"!=typeof window&&window===i&&window.document&&window.document.createElement&&!o.disableBrowserEnvironment,a=i.Ember||{},u={imports:a.imports||i,exports:a.exports||i,lookup:a.lookup||i},c=s?{hasDOM:!0,isChrome:!!window.chrome&&!window.opera,isFirefox:"undefined"!=typeof InstallTrigger,location:window.location,history:window.history,userAgent:window.navigator.userAgent,window:window}:{hasDOM:!1,isChrome:!1,isFirefox:!1,location:null,history:null,userAgent:"Lynx (textmode)",window:null}
-e.ENV=o,e.getENV=function(){return o},e.context=u,e.getLookup=function(){return u.lookup},e.setLookup=function(e){u.lookup=e},e.environment=c}),e("ember-extension-support/index",["exports","ember-extension-support/lib/data_adapter","ember-extension-support/lib/container_debug_adapter"],function(e,t,n){"use strict"
-Object.defineProperty(e,"DataAdapter",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"ContainerDebugAdapter",{enumerable:!0,get:function(){return n.default}})}),e("ember-extension-support/lib/container_debug_adapter",["exports","ember-runtime"],function(e,t){"use strict"
-e.default=t.Object.extend({resolver:null,canCatalogEntriesByType:function(e){return"model"!==e&&"template"!==e},catalogEntriesByType:function(e){var n=(0,t.A)(t.Namespace.NAMESPACES),r=(0,t.A)(),i=new RegExp(t.String.classify(e)+"$")
-return n.forEach(function(e){var n
-for(var o in e)e.hasOwnProperty(o)&&i.test(o)&&(n=e[o],"class"===(0,t.typeOf)(n)&&r.push(t.String.dasherize(o.replace(i,""))))}),r}})}),e("ember-extension-support/lib/data_adapter",["exports","ember-utils","ember-metal","ember-runtime"],function(e,t,n,r){"use strict"
-e.default=r.Object.extend({init:function(){this._super.apply(this,arguments),this.releaseMethods=(0,r.A)()},containerDebugAdapter:void 0,attributeLimit:3,acceptsModelName:!0,releaseMethods:(0,r.A)(),getFilters:function(){return(0,r.A)()},watchModelTypes:function(e,t){var n=this,i=this.getModelTypes(),o=(0,r.A)(),s=void 0
-s=i.map(function(e){var r=e.klass,i=n.wrapModelType(r,e.name)
-return o.push(n.observeModelType(e.name,t)),i}),e(s)
-var a=function(){o.forEach(function(e){return e()}),n.releaseMethods.removeObject(a)}
-return this.releaseMethods.pushObject(a),a},_nameToClass:function(e){var n,r
-return"string"==typeof e&&(n=(0,t.getOwner)(this),r=n.factoryFor("model:"+e),e=r&&r.class),e},watchRecords:function(e,t,i,o){function s(e){i([e])}var a=this,u=(0,r.A)(),c=this._nameToClass(e),l=this.getRecords(c,e),h=void 0,d=l.map(function(e){return u.push(a.observeRecord(e,s)),a.wrapRecord(e)}),p={didChange:function(e,r,i,c){var l,h,d
-for(l=r;l<r+c;l++)h=(0,n.objectAt)(e,l),d=a.wrapRecord(h),u.push(a.observeRecord(h,s)),t([d])
-i&&o(r,i)},willChange:function(){return this}}
-return(0,n.addArrayObserver)(l,this,p),h=function(){u.forEach(function(e){return e()}),(0,n.removeArrayObserver)(l,a,p),a.releaseMethods.removeObject(h)},t(d),this.releaseMethods.pushObject(h),h},willDestroy:function(){this._super.apply(this,arguments),this.releaseMethods.forEach(function(e){return e()})},detect:function(){return!1},columnsForType:function(){return(0,r.A)()},observeModelType:function(e,t){function r(){t([this.wrapModelType(o,e)])}var i=this,o=this._nameToClass(e),s=this.getRecords(o,e),a={didChange:function(e,t,i,o){(i>0||o>0)&&(0,n.scheduleOnce)("actions",this,r)},willChange:function(){return this}}
-return(0,n.addArrayObserver)(s,this,a),function(){return(0,n.removeArrayObserver)(s,i,a)}},wrapModelType:function(e,t){var r=this.getRecords(e,t)
-return{name:t,count:(0,n.get)(r,"length"),columns:this.columnsForType(e),object:e}},getModelTypes:function(){var e=this,t=this.get("containerDebugAdapter"),n=void 0
-return n=t.canCatalogEntriesByType("model")?t.catalogEntriesByType("model"):this._getObjectsOnNamespaces(),n=(0,r.A)(n).map(function(t){return{klass:e._nameToClass(t),name:t}}),n=(0,r.A)(n).filter(function(t){return e.detect(t.klass)}),(0,r.A)(n)},_getObjectsOnNamespaces:function(){var e=this,t=(0,r.A)(r.Namespace.NAMESPACES),n=(0,r.A)()
-return t.forEach(function(t){var i
-for(var o in t)t.hasOwnProperty(o)&&e.detect(t[o])&&(i=r.String.dasherize(o),n.push(i))}),n},getRecords:function(){return(0,r.A)()},wrapRecord:function(e){var t={object:e}
-return t.columnValues=this.getRecordColumnValues(e),t.searchKeywords=this.getRecordKeywords(e),t.filterValues=this.getRecordFilterValues(e),t.color=this.getRecordColor(e),t},getRecordColumnValues:function(){return{}},getRecordKeywords:function(){return(0,r.A)()},getRecordFilterValues:function(){return{}},getRecordColor:function(){return null},observeRecord:function(){return function(){}}})}),e("ember-glimmer",["exports","@glimmer/runtime","@glimmer/util","@glimmer/node","ember-babel","@glimmer/opcode-compiler","ember-utils","@glimmer/reference","ember-runtime","ember-metal","ember-debug","ember-views","ember-environment","node-module","@glimmer/wire-format","container","rsvp","ember-routing"],function(e,t,n,r,i,o,s,a,u,c,l,h,d,p,f,g,m,v){"use strict"
-function y(e){return new Qe((0,o.templateFactory)(e))}function b(e){return"object"==typeof e&&null!==e&&e.class&&e.class.isHelperFactory}function C(e){return void 0===e.destroy}function A(e){return new $e(e)}function _(e){return!!e&&(!0===e||(!(0,u.isArray)(e)||0!==(0,c.get)(e,"length")))}function I(e,t){var n,r=e
-for(n=0;n<t.length;n++)r=r.get(t[n])
-return r}function w(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1]
-return null!==e&&"object"==typeof e?n?new ot(e):new ft(e):"function"==typeof e?new ft(e):t.PrimitiveReference.create(e)}function x(e){if(e in xt)return xt[e]
-if(!d.environment.hasDOM)return xt[e]=e,e
-var t=document.createElement("input")
-try{t.type=e}catch(e){}return xt[e]=t.type===e}function k(e){return null!==e&&"object"==typeof e&&e[Tt]}function j(e,t){return k(e)?new Bt(e,t||"@key"):new Ht(e,t||"@identity")}function E(e){return"function"==typeof e.forEach}function S(e){return"function"==typeof e[Symbol.iterator]}function T(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function P(e,t,n){return String(n)}function O(e,t){return t}function R(e,t){return N(t)}function N(e){switch(typeof e){case"string":return e
-case"number":return String(e)
-default:return(0,s.guidFor)(e)}}function M(e){return function(t){return String((0,c.get)(t,e))}}function L(e){var t=new Set
-return function(n,r,i){var o=e(n,r,i),s=t[o]
-return void 0===s?(t[o]=0,o):(t[o]=++s,o+"be277757-bbbe-4620-9fcb-213ef433cca2"+s)}}function D(e){return qt[e]}function z(e){return null===e||void 0===e?e="":"string"!=typeof e&&(e=""+e),new Ut(e)}function F(e){return null!==e&&"object"==typeof e&&"function"==typeof e.toHTML}function B(e){var t=void 0
-if(d.environment.hasDOM&&(t=H.call(e,"foobar:baz")),"foobar:"===t)e.protocolForURL=H
-else if("object"==typeof URL)Gt=URL,e.protocolForURL=U
-else{if(!p.IS_NODE)throw new Error("Could not find valid URL parsing mechanism for URL Sanitization")
-Gt=(0,p.require)("url"),e.protocolForURL=U}}function H(e){return Yt||(Yt=document.createElement("a")),Yt.href=e,Yt.protocol}function U(e){var t=null
-return"string"==typeof e&&(t=Gt.parse(e).protocol),null===t?":":t}function q(e){return{object:e.name+":"+e.outlet}}function V(e){var t,n,r
-return d.ENV._APPLICATION_TEMPLATE_WRAPPER?(t=(0,s.assign)({},Zt,{dynamicTag:!0,elementHook:!0}),n=function(e){function n(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(n,e),n.prototype.getTagName=function(){return"div"},n.prototype.getLayout=function(e){var t=e.template,n=t.asWrappedLayout()
-return{handle:n.compile(),symbolTable:n.symbolTable}},n.prototype.getCapabilities=function(){return t},n.prototype.didCreateElement=function(e,t){t.setAttribute("class","ember-view"),t.setAttribute("id",(0,s.guidFor)(e))},n}(Xt),r=new n,new $t(e.state,r)):new $t(e.state)}function W(){}function G(e,t){return e[yt].get(t)}function Y(e,t){return"attrs"===t[0]&&(t.shift(),1===t.length)?G(e,t[0]):I(e[yt],t)}function K(e){if(null!==e){var t,n,r,i,o=e[0],s=e[1],a=null===o?-1:o.indexOf("class")
-if(-1!==a){if(t=s[a],!Array.isArray(t))return
-n=t[0],n!==f.Ops.Get&&n!==f.Ops.MaybeLocal||(r=t[t.length-1],i=r[r.length-1],s[a]=[f.Ops.Helper,"-class",[t,i],null])}}}function Q(e){var t,n,r,i,o=e.names,s=e.value(),a=Object.create(null),u=Object.create(null)
-for(a[vt]=u,t=0;t<o.length;t++)n=o[t],r=e.get(n),i=s[n],"function"==typeof i&&i[nt]?s[n]=i:r[et]&&(s[n]=new ln(r,i)),u[n]=r,a[n]=i
-return a.attrs=s,a}function Z(e,t){e.named.has("id")&&(t.elementId=t.id)}function X(e){return"function"==typeof e.create}function J(e,n,r,i){for(var o,s,a,u=[],c=n.length-1;-1!==c;)o=n[c],s=tn.parse(o),a=s[1],-1===u.indexOf(a)&&(u.push(a),tn.install(e,r,s,i)),c--;-1===u.indexOf("id")&&i.setAttribute("id",t.PrimitiveReference.create(r.elementId),!0,null),-1===u.indexOf("style")&&on.install(e,r,i)}function $(e){return e.instrumentDetails({initialRender:!0})}function ee(e){return e.instrumentDetails({initialRender:!1})}function te(e){An.push(e)}function ne(e){var t=An.indexOf(e)
-An.splice(t,1)}function re(){}function ie(){return null===_n&&(_n=m.default.defer(),(0,c.getCurrentRunLoop)()||c.backburner.schedule("actions",null,re)),_n.promise}function oe(){var e
-null!==_n&&(e=_n.resolve,_n=null,c.backburner.join(null,e))}function se(){var e
-for(e=0;e<An.length;e++)if(!An[e]._isValid()){if(In>10)throw In=0,An[e].destroy(),new Error("infinite rendering invalidation detected")
-return In++,c.backburner.join(null,re)}In=0,oe()}function ae(){return jn}function ue(e){if(jn.hasOwnProperty(e))return jn[e]}function ce(e){return jn.hasOwnProperty(e)}function le(e,t){return jn[e]=t}function he(e){var t=e.positional,n=t.at(0),r=t.length,i=n.value()
-return!0===i?r>1?u.String.dasherize(t.at(1).value()):null:!1===i?r>2?u.String.dasherize(t.at(2).value()):null:i}function de(e){var t=e.positional,n=t.at(0)
-return new Ut(n.value())}function pe(e){return"checkbox"===e.positional.at(0).value()?"-checkbox":"-text-field"}function fe(e){var t=e.positional,n=t.at(0).value().split("."),r=n[n.length-1],i=t.at(1).value()
-return!0===i?u.String.dasherize(r):i||0===i?String(i):""}function ge(e,t){var n=t.named,r=t.positional,i=r.capture(),o=i.references,s=o[0],u=o[1],c=o.slice(2),l=u._propertyKey,h=n.has("target")?n.get("target"):s,d=ve(n.has("value")&&n.get("value"),c),p=void 0
-return p="function"==typeof u[tt]?be(u,u,u[tt],d,l):(0,a.isConst)(h)&&(0,a.isConst)(u)?be(s.value(),h.value(),u.value(),d,l):ye(s.value(),h,u,d,l),p[nt]=!0,new ft(p)}function me(e){return e}function ve(e,t){var n=void 0
-t.length>0&&(n=function(e){return t.map(function(e){return e.value()}).concat(e)})
-var r=void 0
-return e&&(r=function(t){var n=e.value()
-return n&&t.length>0&&(t[0]=(0,c.get)(t[0],n)),t}),n&&r?function(e){return r(n(e))}:n||r||me}function ye(e,t,n,r,i){return function(){return be(e,t.value(),n.value(),r,i).apply(void 0,arguments)}}function be(e,t,n,r,i){var o,s=void 0,a=void 0
-return"function"==typeof n[tt]?(s=n,a=n[tt]):(o=typeof n,"string"===o?(s=t,a=t.actions&&t.actions[n]):"function"===o&&(s=e,a=n)),function(){for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-var e,t,n,i={target:s,args:t,label:"@glimmer/closure-action"}
-return(0,c.flaggedInstrument)("interaction.ember-action",i,function(){return c.join.apply(void 0,[s,a].concat(r(t)))})}}function Ce(e){return e.positional.value().map(Mn).join("")}function Ae(e,n){return void 0===n||null===n||""===n?t.NULL_REFERENCE:"string"==typeof n&&n.indexOf(".")>-1?I(e,n.split(".")):e.get(n)}function _e(e){var t,n=e.positional;(t=console).log.apply(t,n.value())}function Ie(e){return e&&e[zn]}function we(e){return e[Fn]||e}function xe(e){var t=(e.positional,e.named)
-return new v.QueryParams((0,s.assign)({},t.value()))}function ke(e,t){var n
-if(null===t||void 0===t){if(Hn.test(e.type))return(0,h.isSimpleClick)(e)
-t=""}if(t.indexOf("any")>=0)return!0
-for(n=0;n<Bn.length;n++)if(e[Bn[n]+"Key"]&&-1===t.indexOf(Bn[n]))return!1
-return!0}function je(e){return null===e?null:[e[0].map(function(e){return"@"+e}),e[1]]}function Ee(e,t,n,r){var i=r.compiler.resolver.lookupComponentDefinition("-text-area",r.referrer)
-return K(n),r.component.static(i,[t||[],je(n),null,null]),!0}function Se(e,t,n,r){var i=r.compiler.resolver.lookupComponentDefinition(e,r.referrer)
-return r.component.static(i,[t,je(n),null,null]),!0}function Te(e,t,n,r){var i,o,s,a,u
-if(null===t&&(t=[]),null!==n&&(i=n[0],o=n[1],(s=i.indexOf("type"))>-1)){if(a=o[s],Array.isArray(a))return u=t[0],r.dynamicComponent(u,t.slice(1),n,!0,null,null),!0
-if("checkbox"===a)return K(n),Se("-checkbox",t,n,r)}return Se("-text-field",t,n,r)}function Pe(e,t,n,r,i){return null!==n&&(null!==e?(i.compileParams(e),i.invokeStaticBlock(n,e.length)):i.invokeStatic(n)),!0}function Oe(e,t,n,r){var i=[f.Ops.Helper,"-mount",t||[],n]
-return r.dynamicComponent(i,[],null,!1,null,null),!0}function Re(e,t,n,r){var i=[f.Ops.Helper,"-outlet",t||[],n]
-return r.dynamicComponent(i,[],null,!1,null,null),!0}function Ne(e){var t=e.value()
-if(void 0===t)return null
-var n=t.render
-if(void 0===n)return null
-var r=n.template
-return void 0===r?null:{ref:e,name:n.name,outlet:n.outlet,template:r,controller:n.controller}}function Me(e,t){return null===e?null===t:null!==t&&(e.template===t.template&&e.controller===t.controller)}function Le(e,t,n,r){var i
-return!0===d.ENV._ENABLE_RENDER_SUPPORT&&(i=[f.Ops.Helper,"-render",t||[],n],r.dynamicComponent(i,null,null,!1,null,null),!0)}function De(e,t,n,r){if(-1===e.indexOf("-"))return!1
-var i=r.compiler.resolver.lookupComponentDefinition(e,r.referrer)
-return null!==i&&(r.component.static(i,[null===t?[]:t,je(n),null,null]),!0)}function ze(e,t,n,r,i,o){if(-1===e.indexOf("-"))return!1
-var s=o.compiler.resolver.lookupComponentDefinition(e,o.referrer)
-return null!==s&&(K(n),o.component.static(s,[t,je(n),r,i]),!0)}function Fe(e){var t,n=e.inlines,r=e.blocks
-for(n.add("outlet",Re),n.add("render",Le),n.add("mount",Oe),n.add("input",Te),n.add("textarea",Ee),n.addMissing(De),r.add("let",Pe),r.addMissing(ze),t=0;t<cr.length;t++)(0,cr[t])(r,n)
-return{blocks:r,inlines:n}}function Be(e){var t=e.renderer
-if(!t)throw new Error("missing renderer for component "+e)
-return t}function He(e,t){var n
-return"reopenClass"in e?e.reopenClass((n={},n[dr]=t,n)):(e[dr]=t,e)}function Ue(e){return{object:"component:"+e}}function qe(e,t){return{source:void 0!==e?"template:"+e:void 0,namespace:t}}e.componentManager=e.COMPONENT_MANAGER=e.CustomComponentManager=e.OutletView=e.DebugStack=e.iterableFor=e.INVOKE=e.UpdatableReference=e.AbstractComponentManager=e._experimentalMacros=e._registerMacros=e.setupApplicationRegistry=e.setupEngineRegistry=e.setTemplates=e.getTemplates=e.hasTemplate=e.setTemplate=e.getTemplate=e.renderSettled=e._resetRenderers=e.InteractiveRenderer=e.InertRenderer=e.Renderer=e.isHTMLSafe=e.htmlSafe=e.escapeExpression=e.SafeString=e.Environment=e.helper=e.Helper=e.ROOT_REF=e.Component=e.LinkComponent=e.TextArea=e.TextField=e.Checkbox=e.template=e.RootTemplate=e.NodeDOMTreeConstruction=e.isSerializationFirstNode=e.DOMTreeConstruction=e.DOMChanges=void 0,Object.defineProperty(e,"DOMChanges",{enumerable:!0,get:function(){return t.DOMChanges}}),Object.defineProperty(e,"DOMTreeConstruction",{enumerable:!0,get:function(){return t.DOMTreeConstruction}}),Object.defineProperty(e,"isSerializationFirstNode",{enumerable:!0,get:function(){return n.isSerializationFirstNode}}),Object.defineProperty(e,"NodeDOMTreeConstruction",{enumerable:!0,get:function(){return r.NodeDOMTreeConstruction}})
-var Ve,We=(0,i.taggedTemplateLiteralLoose)(["template:components/-default"],["template:components/-default"]),Ge=(0,i.taggedTemplateLiteralLoose)(["component:-default"],["component:-default"]),Ye=(0,i.taggedTemplateLiteralLoose)(["template:-root"],["template:-root"]),Ke=(0,i.taggedTemplateLiteralLoose)(["template-compiler:main"],["template-compiler:main"]),Qe=function(){function e(e){this.factory=e,this.id=e.id,this.meta=e.meta}return e.prototype.create=function(e){var t=(0,s.getOwner)(e)
-return this.factory.create(e.compiler,{owner:t})},e}(),Ze=y({id:"UYMQEP0l",block:'{"symbols":[],"statements":[[1,[26,"component",[[21,0,[]]],null],false]],"hasEval":false}',meta:{moduleName:"packages/ember-glimmer/lib/templates/root.hbs"}}),Xe=(0,s.symbol)("RECOMPUTE_TAG"),Je=u.FrameworkObject.extend({init:function(){this._super.apply(this,arguments),this[Xe]=a.DirtyableTag.create()},recompute:function(){this[Xe].inner.dirty()}})
-Je.isHelperFactory=!0
-var $e=function(){function e(e){this.compute=e,this.isHelperFactory=!0}return e.prototype.create=function(){return{compute:this.compute}},e}(),et=(0,s.symbol)("UPDATE"),tt=(0,s.symbol)("INVOKE"),nt=(0,s.symbol)("ACTION"),rt=function(){function e(){}return e.prototype.get=function(e){return st.create(this,e)},e}(),it=function(e){function t(){var t=(0,i.possibleConstructorReturn)(this,e.call(this))
-return t._lastRevision=null,t._lastValue=null,t}return(0,i.inherits)(t,e),t.prototype.value=function(){var e=this.tag,t=this._lastRevision,n=this._lastValue
-return null!==t&&e.validate(t)||(n=this._lastValue=this.compute(),this._lastRevision=e.value()),n},t}(rt),ot=function(e){function t(t){var n=(0,i.possibleConstructorReturn)(this,e.call(this,t))
-return n.children=Object.create(null),n}return(0,i.inherits)(t,e),t.prototype.get=function(e){var t=this.children[e]
-return void 0===t&&(t=this.children[e]=new at(this.inner,e)),t},t}(a.ConstReference),st=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.create=function(e,t){return(0,a.isConst)(e)?new at(e.value(),t):new ut(e,t)},t.prototype.get=function(e){return new ut(this,e)},t}(it),at=function(e){function t(t,n){var r=(0,i.possibleConstructorReturn)(this,e.call(this))
-return r._parentValue=t,r._propertyKey=n,r.tag=(0,c.tagForProperty)(t,n),r}return(0,i.inherits)(t,e),t.prototype.compute=function(){var e=this._parentValue,t=this._propertyKey
-return(0,c.get)(e,t)},t.prototype[et]=function(e){(0,c.set)(this._parentValue,this._propertyKey,e)},t}(st),ut=function(e){function t(t,n){var r=(0,i.possibleConstructorReturn)(this,e.call(this)),o=t.tag,s=a.UpdatableTag.create(a.CONSTANT_TAG)
-return r._parentReference=t,r._parentObjectTag=s,r._propertyKey=n,r.tag=(0,a.combine)([o,s]),r}return(0,i.inherits)(t,e),t.prototype.compute=function(){var e=this._parentReference,t=this._parentObjectTag,n=this._propertyKey,r=e.value()
-t.inner.update((0,c.tagForProperty)(r,n))
-var i=typeof r
-return"string"===i&&"length"===n?r.length:"object"===i&&null!==r||"function"===i?(0,c.get)(r,n):void 0},t.prototype[et]=function(e){var t=this._parentReference.value();(0,c.set)(t,this._propertyKey,e)},t}(st),ct=function(e){function t(t){var n=(0,i.possibleConstructorReturn)(this,e.call(this))
-return n.tag=a.DirtyableTag.create(),n._value=t,n}return(0,i.inherits)(t,e),t.prototype.value=function(){return this._value},t.prototype.update=function(e){e!==this._value&&(this.tag.inner.dirty(),this._value=e)},t}(rt),lt=function(e){function n(t){var n=(0,i.possibleConstructorReturn)(this,e.call(this,t))
-return n.objectTag=a.UpdatableTag.create(a.CONSTANT_TAG),n.tag=(0,a.combine)([t.tag,n.objectTag]),n}return(0,i.inherits)(n,e),n.create=function(e){var r
-return(0,a.isConst)(e)?(r=e.value(),(0,s.isProxy)(r)?new at(r,"isTruthy"):t.PrimitiveReference.create(_(r))):new n(e)},n.prototype.toBool=function(e){return(0,s.isProxy)(e)?(this.objectTag.inner.update((0,c.tagForProperty)(e,"isTruthy")),(0,c.get)(e,"isTruthy")):(this.objectTag.inner.update((0,c.tagFor)(e)),_(e))},n}(t.ConditionalReference),ht=function(e){function t(t,n){var r=(0,i.possibleConstructorReturn)(this,e.call(this))
-return r.tag=n.tag,r.helper=t,r.args=n,r}return(0,i.inherits)(t,e),t.create=function(e,n){var r,i,o,s,u
-return(0,a.isConst)(n)?(r=n.positional,i=n.named,o=r.value(),s=i.value(),u=e(o,s),w(u)):new t(e,n)},t.prototype.compute=function(){var e=this.helper,t=this.args,n=t.positional,r=t.named
-return e(n.value(),r.value())},t}(it),dt=function(e){function t(t,n){var r=(0,i.possibleConstructorReturn)(this,e.call(this))
-return r.tag=(0,a.combine)([t[Xe],n.tag]),r.instance=t,r.args=n,r}return(0,i.inherits)(t,e),t.create=function(e,n){return new t(e,n)},t.prototype.compute=function(){var e=this.instance,t=this.args,n=t.positional,r=t.named,i=n.value(),o=r.value()
-return e.compute(i,o)},t}(it),pt=function(e){function t(t,n){var r=(0,i.possibleConstructorReturn)(this,e.call(this))
-return r.tag=n.tag,r.helper=t,r.args=n,r}return(0,i.inherits)(t,e),t.prototype.compute=function(){return(0,this.helper)(this.args)},t}(it),ft=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.create=function(e){return w(e,!1)},t.prototype.get=function(e){return w((0,c.get)(this.inner,e),!1)},t}(a.ConstReference),gt=function(e){function t(t){var n=(0,i.possibleConstructorReturn)(this,e.call(this))
-return n.inner=t,n}return(0,i.inherits)(t,e),t.prototype.compute=function(){return this.inner.value()},t.prototype.get=function(e){return this.inner.get(e)},(0,i.createClass)(t,[{key:"tag",get:function(){return this.inner.tag}},{key:tt,get:function(){return this.inner[tt]}}]),t}(it),mt=(0,s.symbol)("DIRTY_TAG"),vt=(0,s.symbol)("ARGS"),yt=(0,s.symbol)("ROOT_REF"),bt=(0,s.symbol)("IS_DISPATCHING_ATTRS"),Ct=(0,s.symbol)("HAS_BLOCK"),At=(0,s.symbol)("BOUNDS"),_t=h.CoreView.extend(h.ChildViewsSupport,h.ViewStateSupport,h.ClassNamesSupport,u.TargetActionSupport,h.ActionSupport,h.ViewMixin,(Ve={isComponent:!0,init:function(){this._super.apply(this,arguments),this[bt]=!1,this[mt]=a.DirtyableTag.create(),this[yt]=new ot(this),this[At]=null},rerender:function(){this[mt].inner.dirty(),this._super()}},Ve[c.PROPERTY_DID_CHANGE]=function(e){if(!this[bt]){var t=this[vt],n=t&&t[e]
-n&&n[et]&&n[et]((0,c.get)(this,e))}},Ve.getAttr=function(e){return this.get(e)},Ve.readDOMAttr=function(e){var n=(0,h.getViewElement)(this),r=n.namespaceURI===t.SVG_NAMESPACE,i=(0,t.normalizeProperty)(n,e),o=i.type,s=i.normalized
-return r?n.getAttribute(s):"attr"===o?n.getAttribute(s):n[s]},Ve))
-_t.toString=function(){return"@ember/component"},_t.reopenClass({isComponentFactory:!0,positionalParams:[]})
-var It=y({id:"5jp2oO+o",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"packages/ember-glimmer/lib/templates/empty.hbs"}}),wt=_t.extend({layout:It,classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name","autofocus","required","form"],type:"checkbox",disabled:!1,indeterminate:!1,didInsertElement:function(){this._super.apply(this,arguments),(0,c.get)(this,"element").indeterminate=!!(0,c.get)(this,"indeterminate")},change:function(){(0,c.set)(this,"checked",this.element.checked)}})
-wt.toString=function(){return"@ember/component/checkbox"}
-var xt=Object.create(null),kt=_t.extend(h.TextSupport,{layout:It,classNames:["ember-text-field"],tagName:"input",attributeBindings:["accept","autocomplete","autosave","dir","formaction","formenctype","formmethod","formnovalidate","formtarget","height","inputmode","lang","list","type","max","min","multiple","name","pattern","size","step","value","width"],value:"",type:(0,c.computed)({get:function(){return"text"},set:function(e,t){var n="text"
-return x(t)&&(n=t),n}}),size:null,pattern:null,min:null,max:null})
-kt.toString=function(){return"@ember/component/text-field"}
-var jt=_t.extend(h.TextSupport,{classNames:["ember-text-area"],layout:It,tagName:"textarea",attributeBindings:["rows","cols","name","selectionEnd","selectionStart","autocomplete","wrap","lang","dir","value"],rows:null,cols:null})
-jt.toString=function(){return"@ember/component/text-area"}
-var Et=y({id:"4GmgUGfN",block:'{"symbols":["&default"],"statements":[[4,"if",[[22,["linkTitle"]]],null,{"statements":[[1,[20,"linkTitle"],false]],"parameters":[]},{"statements":[[13,1]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"packages/ember-glimmer/lib/templates/link-to.hbs"}}),St=_t.extend({layout:Et,tagName:"a","current-when":null,title:null,rel:null,tabindex:null,target:null,activeClass:"active",loadingClass:"loading",disabledClass:"disabled",replace:!1,attributeBindings:["href","title","rel","tabindex","target"],classNameBindings:["active","loading","disabled","transitioningIn","transitioningOut"],eventName:"click",init:function(){this._super.apply(this,arguments)
-var e=(0,c.get)(this,"eventName")
-this.on(e,this,this._invoke)},_routing:u.inject.service("-routing"),disabled:(0,c.computed)({get:function(){return!1},set:function(e,t){return this._isDisabled=t,!!t&&(0,c.get)(this,"disabledClass")}}),_isActive:function(e){if((0,c.get)(this,"loading"))return!1
-var t,n=(0,c.get)(this,"current-when")
-if("boolean"==typeof n)return n
-var r=!!n
-n=n||(0,c.get)(this,"qualifiedRouteName"),n=n.split(" ")
-var i=(0,c.get)(this,"_routing"),o=(0,c.get)(this,"models"),s=(0,c.get)(this,"resolvedQueryParams")
-for(t=0;t<n.length;t++)if(i.isActiveForRoute(o,s,n[t],e,r))return!0
-return!1},active:(0,c.computed)("activeClass","_active",function(){return!!this.get("_active")&&(0,c.get)(this,"activeClass")}),_active:(0,c.computed)("_routing.currentState","attrs.params",function(){var e=(0,c.get)(this,"_routing.currentState")
-return!!e&&this._isActive(e)}),willBeActive:(0,c.computed)("_routing.targetState",function(){var e=(0,c.get)(this,"_routing"),t=(0,c.get)(e,"targetState")
-if((0,c.get)(e,"currentState")!==t)return this._isActive(t)}),transitioningIn:(0,c.computed)("active","willBeActive",function(){return!0===(0,c.get)(this,"willBeActive")&&!(0,c.get)(this,"_active")&&"ember-transitioning-in"}),transitioningOut:(0,c.computed)("active","willBeActive",function(){return!(!1!==(0,c.get)(this,"willBeActive")||!(0,c.get)(this,"_active"))&&"ember-transitioning-out"}),_invoke:function(e){if(!(0,h.isSimpleClick)(e))return!0
-var t=(0,c.get)(this,"preventDefault"),n=(0,c.get)(this,"target")
-if(!1!==t&&(n&&"_self"!==n||e.preventDefault()),!1===(0,c.get)(this,"bubbles")&&e.stopPropagation(),this._isDisabled)return!1
-if((0,c.get)(this,"loading"))return!1
-if(n&&"_self"!==n)return!1
-var r=(0,c.get)(this,"qualifiedRouteName"),i=(0,c.get)(this,"models"),o=(0,c.get)(this,"queryParams.values"),s=(0,c.get)(this,"replace"),a={queryParams:o,routeName:r}
-return(0,c.flaggedInstrument)("interaction.link-to",a,this._generateTransition(a,r,i,o,s)),!1},_generateTransition:function(e,t,n,r,i){var o=(0,c.get)(this,"_routing")
-return function(){e.transition=o.transitionTo(t,n,r,i)}},queryParams:null,qualifiedRouteName:(0,c.computed)("targetRouteName","_routing.currentState",function(){var e=(0,c.get)(this,"params"),t=e.length,n=e[t-1]
-return n&&n.isQueryParams&&t--,(this[Ct]?0===t:1===t)?(0,c.get)(this,"_routing.currentRouteName"):(0,c.get)(this,"targetRouteName")}),resolvedQueryParams:(0,c.computed)("queryParams",function(){var e={},t=(0,c.get)(this,"queryParams")
-if(!t)return e
-var n=t.values
-for(var r in n)n.hasOwnProperty(r)&&(e[r]=n[r])
-return e}),href:(0,c.computed)("models","qualifiedRouteName",function(){if("a"===(0,c.get)(this,"tagName")){var e=(0,c.get)(this,"qualifiedRouteName"),t=(0,c.get)(this,"models")
-if((0,c.get)(this,"loading"))return(0,c.get)(this,"loadingHref")
-var n=(0,c.get)(this,"_routing"),r=(0,c.get)(this,"queryParams.values")
-return n.generateURL(e,t,r)}}),loading:(0,c.computed)("_modelsAreLoaded","qualifiedRouteName",function(){var e=(0,c.get)(this,"qualifiedRouteName")
-if(!(0,c.get)(this,"_modelsAreLoaded")||null===e||void 0===e)return(0,c.get)(this,"loadingClass")}),_modelsAreLoaded:(0,c.computed)("models",function(){var e,t,n=(0,c.get)(this,"models")
-for(e=0;e<n.length;e++)if(null===(t=n[e])||void 0===t)return!1
-return!0}),_getModels:function(e){var t,n,r=e.length-1,i=new Array(r)
-for(t=0;t<r;t++)n=e[t+1],i[t]=n
-return i},loadingHref:"#",didReceiveAttrs:function(){var e=void 0,t=(0,c.get)(this,"params")
-t&&(t=t.slice())
-var n=(0,c.get)(this,"disabledWhen")
-void 0!==n&&this.set("disabled",n),this[Ct]||this.set("linkTitle",t.shift()),this.set("targetRouteName",t[0])
-var r=t[t.length-1]
-e=r&&r.isQueryParams?t.pop():{values:{}},this.set("queryParams",e),t.length>1?this.set("models",this._getModels(t)):this.set("models",[])}})
-St.toString=function(){return"@ember/routing/link-component"},St.reopenClass({positionalParams:"params"})
-var Tt=(0,s.symbol)("EACH_IN"),Pt=function(){function e(e){this.inner=e,this.tag=e.tag,this[Tt]=!0}return e.prototype.value=function(){return this.inner.value()},e.prototype.get=function(e){return this.inner.get(e)},e}(),Ot=function(){function e(e,t){this.length=e,this.keyFor=t,this.position=0}return e.prototype.isEmpty=function(){return!1},e.prototype.memoFor=function(e){return e},e.prototype.next=function(){var e=this.length,t=this.keyFor,n=this.position
-if(n>=e)return null
-var r=this.valueFor(n),i=this.memoFor(n),o=t(r,i,n)
-return this.position++,{key:o,value:r,memo:i}},e}(),Rt=function(e){function t(t,n,r){var o=(0,i.possibleConstructorReturn)(this,e.call(this,n,r))
-return o.array=t,o}return(0,i.inherits)(t,e),t.from=function(e,t){var n=e.length
-return 0===n?Ft:new this(e,n,t)},t.fromForEachable=function(e,t){var n=[]
-return e.forEach(function(e){return n.push(e)}),this.from(n,t)},t.prototype.valueFor=function(e){return this.array[e]},t}(Ot),Nt=function(e){function t(t,n,r){var o=(0,i.possibleConstructorReturn)(this,e.call(this,n,r))
-return o.array=t,o}return(0,i.inherits)(t,e),t.from=function(e,t){var n=(0,c.get)(e,"length")
-return 0===n?Ft:new this(e,n,t)},t.prototype.valueFor=function(e){return(0,c.objectAt)(this.array,e)},t}(Ot),Mt=function(e){function t(t,n,r,o){var s=(0,i.possibleConstructorReturn)(this,e.call(this,r,o))
-return s.keys=t,s.values=n,s}return(0,i.inherits)(t,e),t.fromIndexable=function(e,t){var n,r=Object.keys(e),i=[],o=r.length
-for(n=0;n<o;n++)i.push((0,c.get)(e,r[n]))
-return 0===o?Ft:new this(r,i,o,t)},t.fromForEachable=function(e,t){var n=arguments,r=[],i=[],o=0,s=!1
-return e.forEach(function(e,t){s=s||n.length>=2,s?(r.push(t),i.push(e)):i.push(e),o++}),0===o?Ft:s?new this(r,i,o,t):new Rt(i,o,t)},t.prototype.valueFor=function(e){return this.values[e]},t.prototype.memoFor=function(e){return this.keys[e]},t}(Ot),Lt=function(){function e(e,t,n){this.iterable=e,this.result=t,this.keyFor=n,this.position=0}return e.from=function(e,t){var n=e[Symbol.iterator](),r=n.next(),i=r.value
-return r.done?Ft:Array.isArray(i)&&2===i.length?new this(n,r,t):new Dt(n,r,t)},e.prototype.isEmpty=function(){return!1},e.prototype.next=function(){var e=this.iterable,t=this.result,n=this.position,r=this.keyFor
-if(t.done)return null
-var i=this.valueFor(t,n),o=this.memoFor(t,n),s=r(i,o,n)
-return this.position++,this.result=e.next(),{key:s,value:i,memo:o}},e}(),Dt=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.prototype.valueFor=function(e){return e.value},t.prototype.memoFor=function(e,t){return t},t}(Lt),zt=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.prototype.valueFor=function(e){return e.value[1]},t.prototype.memoFor=function(e){return e.value[0]},t}(Lt),Ft={isEmpty:function(){return!0},next:function(){return null}},Bt=function(){function e(e,t){this.ref=e,this.keyPath=t,this.valueTag=a.UpdatableTag.create(a.CONSTANT_TAG),this.tag=(0,a.combine)([e.tag,this.valueTag])}return e.prototype.iterate=function(){var e=this.ref,t=this.valueTag,n=e.value(),r=(0,c.tagFor)(n)
-return(0,s.isProxy)(n)&&(n=(0,u._contentFor)(n)),t.inner.update(r),T(n)?Array.isArray(n)||(0,u.isEmberArray)(n)?Mt.fromIndexable(n,this.keyFor(!0)):s.HAS_NATIVE_SYMBOL&&S(n)?zt.from(n,this.keyFor()):E(n)?Mt.fromForEachable(n,this.keyFor()):Mt.fromIndexable(n,this.keyFor(!0)):Ft},e.prototype.valueReferenceFor=function(e){return new ct(e.value)},e.prototype.updateValueReference=function(e,t){e.update(t.value)},e.prototype.memoReferenceFor=function(e){return new ct(e.memo)},e.prototype.updateMemoReference=function(e,t){e.update(t.memo)},e.prototype.keyFor=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=this.keyPath
-switch(t){case"@key":return e?O:L(R)
-case"@index":return P
-case"@identity":return L(N)
-default:return L(M(t))}},e}(),Ht=function(){function e(e,t){this.ref=e,this.keyPath=t,this.valueTag=a.UpdatableTag.create(a.CONSTANT_TAG),this.tag=(0,a.combine)([e.tag,this.valueTag])}return e.prototype.iterate=function(){var e=this.ref,t=this.valueTag,n=e.value()
-if(t.inner.update((0,c.tagForProperty)(n,"[]")),null===n||"object"!=typeof n)return Ft
-var r=this.keyFor()
-return Array.isArray(n)?Rt.from(n,r):(0,u.isEmberArray)(n)?Nt.from(n,r):s.HAS_NATIVE_SYMBOL&&S(n)?Dt.from(n,r):E(n)?Rt.fromForEachable(n,r):Ft},e.prototype.valueReferenceFor=function(e){return new ct(e.value)},e.prototype.updateValueReference=function(e,t){e.update(t.value)},e.prototype.memoReferenceFor=function(e){return new ct(e.memo)},e.prototype.updateMemoReference=function(e,t){e.update(t.memo)},e.prototype.keyFor=function(){var e=this.keyPath
-switch(e){case"@index":return P
-case"@identity":return L(N)
-default:return L(M(e))}},e}(),Ut=function(){function e(e){this.string=e}return e.prototype.toString=function(){return""+this.string},e.prototype.toHTML=function(){return this.toString()},e}(),qt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;","=":"&#x3D;"},Vt=/[&<>"'`=]/,Wt=/[&<>"'`=]/g,Gt=void 0,Yt=void 0,Kt=function(e){function t(t){var n=(0,i.possibleConstructorReturn)(this,e.call(this,t))
-return n.inTransaction=!1,n.owner=t[s.OWNER],n.isInteractive=n.owner.lookup("-environment:main").isInteractive,n.destroyedComponents=[],B(n),n}return(0,i.inherits)(t,e),t.create=function(e){return new this(e)},t.prototype.protocolForURL=function(e){return e},t.prototype.lookupComponent=function(e,t){return(0,h.lookupComponent)(t.owner,e,t)},t.prototype.toConditionalReference=function(e){return lt.create(e)},t.prototype.iterableFor=function(e,t){return j(e,t)},t.prototype.scheduleInstallModifier=function(t,n){this.isInteractive&&e.prototype.scheduleInstallModifier.call(this,t,n)},t.prototype.scheduleUpdateModifier=function(t,n){this.isInteractive&&e.prototype.scheduleUpdateModifier.call(this,t,n)},t.prototype.didDestroy=function(e){e.destroy()},t.prototype.begin=function(){this.inTransaction=!0,e.prototype.begin.call(this)},t.prototype.commit=function(){var t,n=this.destroyedComponents
-for(this.destroyedComponents=[],t=0;t<n.length;t++)n[t].destroy()
-try{e.prototype.commit.call(this)}finally{this.inTransaction=!1}},t}(t.Environment),Qt=function(){function e(){this.debugStack=void 0}return e.prototype.prepareArgs=function(){return null},e.prototype.didCreateElement=function(){},e.prototype.didRenderLayout=function(){},e.prototype.didCreate=function(){},e.prototype.update=function(){},e.prototype.didUpdateLayout=function(){},e.prototype.didUpdate=function(){},e}(),Zt={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0},Xt=function(e){function n(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(n,e),n.prototype.create=function(e,n,r,i){i.outletState=n.ref,void 0===i.rootOutletState&&(i.rootOutletState=i.outletState)
-var o=n.controller
-return{self:void 0===o?t.UNDEFINED_REFERENCE:new ot(o),finalize:(0,c._instrumentStart)("render.outlet",q,n)}},n.prototype.layoutFor=function(){throw new Error("Method not implemented.")},n.prototype.getLayout=function(e){var t=e.template,n=t.asLayout()
-return{handle:n.compile(),symbolTable:n.symbolTable}},n.prototype.getCapabilities=function(){return Zt},n.prototype.getSelf=function(e){return e.self},n.prototype.getTag=function(){return a.CONSTANT_TAG},n.prototype.didRenderLayout=function(e){e.finalize()},n.prototype.getDestructor=function(){return null},n}(Qt),Jt=new Xt,$t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Jt
-this.state=e,this.manager=t},en=function(){function e(e,t,n,r){this.environment=e,this.component=t,this.args=n,this.finalizer=r,this.classRef=null,this.classRef=null,this.argsRevision=null===n?0:n.tag.value()}return e.prototype.destroy=function(){var e=this.component,t=this.environment
-t.isInteractive&&(e.trigger("willDestroyElement"),e.trigger("willClearRender")),t.destroyedComponents.push(e)},e.prototype.finalize=function(){(0,this.finalizer)(),this.finalizer=W},e}(),tn={parse:function(e){var t,n,r=e.indexOf(":")
-return-1===r?[e,e,!0]:(t=e.substring(0,r),n=e.substring(r+1),[t,n,!1])},install:function(e,n,r,i){var o,s=r[0],a=r[1]
-r[2]
-if("id"===a)return o=(0,c.get)(n,s),void 0!==o&&null!==o||(o=n.elementId),o=t.PrimitiveReference.create(o),void i.setAttribute("id",o,!0,null)
-var u=s.indexOf(".")>-1,l=u?Y(n,s.split(".")):G(n,s)
-"style"===a&&(l=new rn(l,G(n,"isVisible"))),i.setAttribute(a,l,!1,null)}},nn=z("display: none;"),rn=function(e){function t(t,n){var r=(0,i.possibleConstructorReturn)(this,e.call(this))
-return r.inner=t,r.isVisible=n,r.tag=(0,a.combine)([t.tag,n.tag]),r}return(0,i.inherits)(t,e),t.prototype.compute=function(){var e,t=this.inner.value()
-return!1!==this.isVisible.value()?t:t?(e=t+" display: none;",F(t)?z(e):e):nn},t}(a.CachedReference),on={install:function(e,t,n){n.setAttribute("style",(0,a.map)(G(t,"isVisible"),this.mapStyleValue),!1,null)},mapStyleValue:function(e){return!1===e?nn:null}},sn={install:function(e,n,r,i){var o,s,a,u,c=r.split(":"),l=c[0],h=c[1],d=c[2]
-""===l?i.setAttribute("class",t.PrimitiveReference.create(h),!0,null):(o=l.indexOf(".")>-1,s=o?l.split("."):[],a=o?Y(n,s):G(n,l),u=void 0,u=void 0===h?new an(a,o?s[s.length-1]:l):new un(a,h,d),i.setAttribute("class",u,!1,null))}},an=function(e){function t(t,n){var r=(0,i.possibleConstructorReturn)(this,e.call(this))
-return r.inner=t,r.path=n,r.tag=t.tag,r.inner=t,r.path=n,r.dasherizedPath=null,r}return(0,i.inherits)(t,e),t.prototype.compute=function(){var e,t=this.inner.value()
-return!0===t?(e=this.path,this.dasherizedPath||(this.dasherizedPath=u.String.dasherize(e))):t||0===t?String(t):null},t}(a.CachedReference),un=function(e){function t(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,o=(0,i.possibleConstructorReturn)(this,e.call(this))
-return o.inner=t,o.truthy=n,o.falsy=r,o.tag=t.tag,o}return(0,i.inherits)(t,e),t.prototype.compute=function(){var e=this.inner,t=this.truthy,n=this.falsy
-return e.value()?t:n},t}(a.CachedReference),cn=(0,s.symbol)("REF"),ln=function(){function e(e,t){this[h.MUTABLE_CELL]=!0,this[cn]=e,this.value=t}return e.prototype.update=function(e){this[cn][et](e)},e}(),hn=(0,g.privatize)(We),dn=function(e){function r(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(r,e),r.prototype.getLayout=function(e){return{handle:e.handle,symbolTable:e.symbolTable}},r.prototype.templateFor=function(e,t){var n,r=(0,c.get)(e,"layout")
-if(void 0!==r)return X(r)?t.createTemplate(r,(0,s.getOwner)(e)):r
-var i=(0,s.getOwner)(e),o=(0,c.get)(e,"layoutName")
-return o&&(n=i.lookup("template:"+o))?n:i.lookup(hn)},r.prototype.getDynamicLayout=function(e,t){var n=e.component,r=this.templateFor(n,t),i=r.asWrappedLayout()
-return{handle:i.compile(),symbolTable:i.symbolTable}},r.prototype.getTagName=function(e){var t=e.component
-return""===t.tagName?null:t&&t.tagName||"div"},r.prototype.getCapabilities=function(e){return e.capabilities},r.prototype.prepareArgs=function(e,t){var r,i,o,a,u=e.ComponentClass.class.positionalParams
-if(void 0===u||null===u||0===t.positional.length)return null
-var c=void 0
-if("string"==typeof u)r={},r[u]=t.positional.capture(),c=r,(0,s.assign)(c,t.named.capture().map)
-else{if(!(Array.isArray(u)&&u.length>0))return null
-for(i=Math.min(u.length,t.positional.length),c={},(0,s.assign)(c,t.named.capture().map),o=0;o<i;o++)a=u[o],c[a]=t.positional.at(o)}return{positional:n.EMPTY_ARRAY,named:c}},r.prototype.create=function(e,t,n,r,i,o){var s=r.view,a=t.ComponentClass,u=n.named.capture(),l=Q(u)
-Z(n,l),l.parentView=s,l[Ct]=o,l._targetObject=i.value(),t.template&&(l.layout=t.template)
-var p=a.create(l),f=(0,c._instrumentStart)("render.component",$,p)
-r.view=p,null!==s&&void 0!==s&&(0,h.addChildView)(s,p),!0===d.ENV._ENABLE_DID_INIT_ATTRS_SUPPORT&&p.trigger("didInitAttrs"),p.trigger("didReceiveAttrs"),""===p.tagName&&(e.isInteractive&&p.trigger("willRender"),p._transitionTo("hasElement"),e.isInteractive&&p.trigger("willInsertElement"))
-var g=new en(e,p,u,f)
-return n.named.has("class")&&(g.classRef=n.named.get("class")),e.isInteractive&&""!==p.tagName&&p.trigger("willRender"),g},r.prototype.getSelf=function(e){return e.component[yt]},r.prototype.didCreateElement=function(e,n,r){var i,o=e.component,a=e.classRef,u=e.environment;(0,h.setViewElement)(o,n)
-var c=o.attributeBindings,l=o.classNames,d=o.classNameBindings
-r.setAttribute("id",t.PrimitiveReference.create((0,s.guidFor)(o)),!1,null),c&&c.length?J(n,c,o,r):(o.elementId&&r.setAttribute("id",t.PrimitiveReference.create(o.elementId),!1,null),on.install(n,o,r)),a&&(i=new an(a,a._propertyKey),r.setAttribute("class",i,!1,null)),l&&l.length&&l.forEach(function(e){r.setAttribute("class",t.PrimitiveReference.create(e),!1,null)}),d&&d.length&&d.forEach(function(e){sn.install(n,o,e,r)}),r.setAttribute("class",t.PrimitiveReference.create("ember-view"),!1,null),"ariaRole"in o&&r.setAttribute("role",G(o,"ariaRole"),!1,null),o._transitionTo("hasElement"),u.isInteractive&&o.trigger("willInsertElement")},r.prototype.didRenderLayout=function(e,t){e.component[At]=t,e.finalize()},r.prototype.getTag=function(e){var t=e.args,n=e.component
-return t?(0,a.combine)([t.tag,n[mt]]):n[mt]},r.prototype.didCreate=function(e){var t=e.component
-e.environment.isInteractive&&(t._transitionTo("inDOM"),t.trigger("didInsertElement"),t.trigger("didRender"))},r.prototype.update=function(e){var t,n=e.component,r=e.args,i=e.argsRevision,o=e.environment
-e.finalizer=(0,c._instrumentStart)("render.component",ee,n),r&&!r.tag.validate(i)&&(t=Q(r),e.argsRevision=r.tag.value(),n[bt]=!0,n.setProperties(t),n[bt]=!1,n.trigger("didUpdateAttrs"),n.trigger("didReceiveAttrs")),o.isInteractive&&(n.trigger("willUpdate"),n.trigger("willRender"))},r.prototype.didUpdateLayout=function(e){e.finalize()},r.prototype.didUpdate=function(e){var t=e.component
-e.environment.isInteractive&&(t.trigger("didUpdate"),t.trigger("didRender"))},r.prototype.getDestructor=function(e){return e},r}(Qt),pn={dynamicLayout:!0,dynamicTag:!0,prepareArgs:!0,createArgs:!0,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0},fn=new dn,gn=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:fn,n=arguments[2],r=arguments[3],i=arguments[4],o=arguments[5]
-this.name=e,this.manager=t,this.ComponentClass=n,this.handle=r
-var s=i&&i.asLayout(),a=s?s.symbolTable:void 0
-this.symbolTable=a,this.template=i,this.args=o,this.state={name:e,ComponentClass:n,handle:r,template:i,capabilities:pn,symbolTable:a}},mn=function(e){function t(t){var n=(0,i.possibleConstructorReturn)(this,e.call(this))
-return n.component=t,n}return(0,i.inherits)(t,e),t.prototype.getLayout=function(e,t){var n=this.templateFor(this.component,t),r=n.asWrappedLayout()
-return{handle:r.compile(),symbolTable:r.symbolTable}},t.prototype.create=function(e,t,n,r){var i=this.component,o=(0,c._instrumentStart)("render.component",$,i)
-return r.view=i,""===i.tagName&&(e.isInteractive&&i.trigger("willRender"),i._transitionTo("hasElement"),e.isInteractive&&i.trigger("willInsertElement")),new en(e,i,null,o)},t}(dn),vn={dynamicLayout:!1,dynamicTag:!0,prepareArgs:!1,createArgs:!1,attributeHook:!0,elementHook:!0,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!1},yn=function(){function e(e){this.component=e
-var t=new mn(e)
-this.manager=t
-var n=g.FACTORY_FOR.get(e)
-this.state={name:n.fullName.slice(10),capabilities:vn,ComponentClass:n,handle:null}}return e.prototype.getTag=function(e){return e.component[mt]},e}(),bn=function(){function e(e,t,n){this.view=e,this.outletState=t,this.rootOutletState=n}return e.prototype.child=function(){return new e(this.view,this.outletState,this.rootOutletState)},e.prototype.get=function(e){return this.outletState},e.prototype.set=function(e,t){return this.outletState=t,t},e}(),Cn=function(){function e(e,n,r,i,o,s,a){var u=this
-this.id=(0,h.getViewId)(e),this.env=n,this.root=e,this.result=void 0,this.shouldReflush=!1,this.destroyed=!1
-var c=this.options={alwaysRevalidate:!1}
-this.render=function(){var e=r.asLayout(),l=e.compile(),h=(0,t.renderMain)(e.compiler.program,n,i,s,a(n,{element:o,nextSibling:null}),l),d=void 0
-do{d=h.next()}while(!d.done)
-var p=u.result=d.value
-u.render=function(){return p.rerender(c)}}}return e.prototype.isFor=function(e){return this.root===e},e.prototype.destroy=function(){var e,t=this.result,n=this.env
-if(this.destroyed=!0,this.env=void 0,this.root=null,this.result=void 0,this.render=void 0,t){e=!n.inTransaction,e&&n.begin()
-try{t.destroy()}finally{e&&n.commit()}}},e}(),An=[];(0,c.setHasViews)(function(){return An.length>0})
-var _n=null,In=0
-c.backburner.on("begin",function(){var e
-for(e=0;e<An.length;e++)An[e]._scheduleRevalidate()}),c.backburner.on("end",se)
-var wn=function(){function e(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h.fallbackViewRegistry,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:t.clientBuilder
-this._env=e,this._rootTemplate=n,this._viewRegistry=r,this._destinedForDOM=i,this._destroyed=!1,this._roots=[],this._lastRevision=-1,this._isRenderingRoots=!1,this._removedRoots=[],this._builder=o}return e.prototype.appendOutletView=function(e,n){var r=V(e)
-this._appendDefinition(e,(0,t.curry)(r),n)},e.prototype.appendTo=function(e,n){var r=new yn(e)
-this._appendDefinition(e,(0,t.curry)(r),n)},e.prototype._appendDefinition=function(e,n,r){var i=new ft(n),o=new bn(null,t.UNDEFINED_REFERENCE),s=new Cn(e,this._env,this._rootTemplate,i,r,o,this._builder)
-this._renderRoot(s)},e.prototype.rerender=function(){this._scheduleRevalidate()},e.prototype.register=function(e){var t=(0,h.getViewId)(e)
-this._viewRegistry[t]=e},e.prototype.unregister=function(e){delete this._viewRegistry[(0,h.getViewId)(e)]},e.prototype.remove=function(e){e._transitionTo("destroying"),this.cleanupRootFor(e),(0,h.setViewElement)(e,null),this._destinedForDOM&&e.trigger("didDestroyElement"),e.isDestroying||e.destroy()},e.prototype.cleanupRootFor=function(e){if(!this._destroyed)for(var t,n=this._roots,r=this._roots.length;r--;)t=n[r],t.isFor(e)&&(t.destroy(),n.splice(r,1))},e.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this._clearAllRoots())},e.prototype.getBounds=function(e){var t=e[At]
-return{parentElement:t.parentElement(),firstNode:t.firstNode(),lastNode:t.lastNode()}},e.prototype.createElement=function(e){return this._env.getAppendOperations().createElement(e)},e.prototype._renderRoot=function(e){var t=this._roots
-t.push(e),1===t.length&&te(this),this._renderRootsTransaction()},e.prototype._renderRoots=function(){var e,t,n,r,i,o=this._roots,s=this._env,u=this._removedRoots,l=void 0,h=void 0
-do{s.begin()
-try{for(h=o.length,l=!1,e=0;e<o.length;e++)t=o[e],t.destroyed?u.push(t):(n=t.shouldReflush,e>=h&&!n||(t.options.alwaysRevalidate=n,n=t.shouldReflush=(0,c.runInTransaction)(t,"render"),l=l||n))
-this._lastRevision=a.CURRENT_TAG.value()}finally{s.commit()}}while(l||o.length>h)
-for(;u.length;)r=u.pop(),i=o.indexOf(r),o.splice(i,1)
-0===this._roots.length&&ne(this)},e.prototype._renderRootsTransaction=function(){if(!this._isRenderingRoots){this._isRenderingRoots=!0
-var e=!1
-try{this._renderRoots(),e=!0}finally{e||(this._lastRevision=a.CURRENT_TAG.value(),!0===this._env.inTransaction&&this._env.commit()),this._isRenderingRoots=!1}}},e.prototype._clearAllRoots=function(){var e,t,n=this._roots
-for(e=0;e<n.length;e++)t=n[e],t.destroy()
-this._removedRoots.length=0,this._roots=[],n.length&&ne(this)},e.prototype._scheduleRevalidate=function(){c.backburner.scheduleOnce("render",this,this._revalidate)},e.prototype._isValid=function(){return this._destroyed||0===this._roots.length||a.CURRENT_TAG.validate(this._lastRevision)},e.prototype._revalidate=function(){this._isValid()||this._renderRootsTransaction()},e}(),xn=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.create=function(e){return new this(e.env,e.rootTemplate,e._viewRegistry,!1,e.builder)},t.prototype.getElement=function(){throw new Error("Accessing `this.element` is not allowed in non-interactive environments (such as FastBoot).")},t}(wn),kn=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.create=function(e){return new this(e.env,e.rootTemplate,e._viewRegistry,!0,e.builder)},t.prototype.getElement=function(e){return(0,h.getViewElement)(e)},t}(wn),jn={},En=A(function(e){return u.String.loc.apply(null,e)}),Sn=function(){function e(e){this.resolver=e}return e.prototype.getCapabilities=function(e){var t=this.resolver.resolve(e),n=t.manager,r=t.state
-return n.getCapabilities(r)},e.prototype.getLayout=function(e){var t=this.resolver.resolve(e),n=t.manager,r=t.state
-if(n.getCapabilities(r).dynamicLayout)return null
-var i=n.getLayout(r,this.resolver)
-return{compile:function(){return i.handle},symbolTable:i.symbolTable}},e.prototype.lookupHelper=function(e,t){return this.resolver.lookupHelper(e,t)},e.prototype.lookupModifier=function(e,t){return this.resolver.lookupModifier(e,t)},e.prototype.lookupComponentDefinition=function(e,t){return this.resolver.lookupComponentHandle(e,t)},e.prototype.lookupPartial=function(e,t){return this.resolver.lookupPartial(e,t)},e}(),Tn={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0},Pn=function(e){function n(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(n,e),n.prototype.getLayout=function(e){var t=e.asLayout()
-return{handle:t.compile(),symbolTable:t.symbolTable}},n.prototype.getCapabilities=function(){return Tn},n.prototype.create=function(){return null},n.prototype.getSelf=function(){return t.NULL_REFERENCE},n.prototype.getTag=function(){return a.CONSTANT_TAG},n.prototype.getDestructor=function(){return null},n}(Qt),On=new Pn,Rn=function(e){this.state=e,this.manager=On},Nn=function(e){return null===e||void 0===e||"function"!=typeof e.toString},Mn=function(e){return Nn(e)?"":String(e)},Ln=function(e){function n(n,r){var o=(0,i.possibleConstructorReturn)(this,e.call(this))
-o.sourceReference=n,o.pathReference=r,o.lastPath=null,o.innerReference=t.NULL_REFERENCE
-var s=o.innerTag=a.UpdatableTag.create(a.CONSTANT_TAG)
-return o.tag=(0,a.combine)([n.tag,r.tag,s]),o}return(0,i.inherits)(n,e),n.create=function(e,t){var r
-return(0,a.isConst)(t)?(r=t.value(),Ae(e,r)):new n(e,t)},n.prototype.compute=function(){var e=this.lastPath,t=this.innerReference,n=this.innerTag,r=this.pathReference.value()
-return r!==e&&(t=Ae(this.sourceReference,r),n.inner.update(t.tag),this.innerReference=t,this.lastPath=r),t.value()},n.prototype[et]=function(e){(0,c.set)(this.sourceReference.value(),this.pathReference.value(),e)},n}(it),Dn=function(e){function t(t,n,r){var o=(0,i.possibleConstructorReturn)(this,e.call(this))
-return o.branchTag=a.UpdatableTag.create(a.CONSTANT_TAG),o.tag=(0,a.combine)([t.tag,o.branchTag]),o.cond=t,o.truthy=n,o.falsy=r,o}return(0,i.inherits)(t,e),t.create=function(e,n,r){var i=lt.create(e)
-return(0,a.isConst)(i)?i.value()?n:r:new t(i,n,r)},t.prototype.compute=function(){var e=this.cond.value()?this.truthy:this.falsy
-return this.branchTag.inner.update(e.tag),e.value()},t}(it),zn=(0,s.symbol)("MUT"),Fn=(0,s.symbol)("SOURCE"),Bn=["alt","shift","meta","ctrl"],Hn=/^click|mouse|touch/,Un={registeredActions:h.ActionManager.registeredActions,registerAction:function(e){var t=e.actionId
-return h.ActionManager.registeredActions[t]=e,t},unregisterAction:function(e){var t=e.actionId
-delete h.ActionManager.registeredActions[t]}},qn=function(){function e(e,t,n,r,i,o,s,a,u){this.element=e,this.actionId=t,this.actionName=n,this.actionArgs=r,this.namedArgs=i,this.positional=o,this.implicitTarget=s,this.dom=a,this.eventName=this.getEventName(),this.tag=u}return e.prototype.getEventName=function(){return this.namedArgs.get("on").value()||"click"},e.prototype.getActionArgs=function(){var e,t=new Array(this.actionArgs.length)
-for(e=0;e<this.actionArgs.length;e++)t[e]=this.actionArgs[e].value()
-return t},e.prototype.getTarget=function(){var e=this.implicitTarget,t=this.namedArgs
-return t.has("target")?t.get("target").value():e.value()},e.prototype.handler=function(e){var t=this,n=this.actionName,r=this.namedArgs,i=r.get("bubbles"),o=r.get("preventDefault"),s=r.get("allowedKeys"),a=this.getTarget(),u=!1!==i.value()
-return!ke(e,s.value())||(!1!==o.value()&&e.preventDefault(),u||e.stopPropagation(),(0,c.join)(function(){var e=t.getActionArgs(),r={args:e,target:a,name:null}
-return"function"==typeof n[tt]?void(0,c.flaggedInstrument)("interaction.ember-action",r,function(){n[tt].apply(n,e)}):"function"==typeof n?void(0,c.flaggedInstrument)("interaction.ember-action",r,function(){n.apply(a,e)}):(r.name=n,void(a.send?(0,c.flaggedInstrument)("interaction.ember-action",r,function(){a.send.apply(a,[n].concat(e))}):(0,c.flaggedInstrument)("interaction.ember-action",r,function(){a[n].apply(a,e)})))}),u)},e.prototype.destroy=function(){Un.unregisterAction(this)},e}(),Vn=function(){function e(){}return e.prototype.create=function(e,t,n,r){var i,o=t.capture(),a=o.named,u=o.positional,c=o.tag,l=void 0,h=void 0,d=void 0
-u.length>1&&(l=u.at(0),d=u.at(1),d[tt]?h=d:(d._propertyKey,h=d.value()))
-var p=[]
-for(i=2;i<u.length;i++)p.push(u.at(i))
-var f=(0,s.uuid)()
-return new qn(e,f,h,p,a,u,l,r,c)},e.prototype.install=function(e){var t=e.dom,n=e.element,r=e.actionId
-Un.registerAction(e),t.setAttribute(n,"data-ember-action",""),t.setAttribute(n,"data-ember-action-"+r,r)},e.prototype.update=function(e){var t=e.positional,n=t.at(1)
-n[tt]||(e.actionName=n.value()),e.eventName=e.getEventName()},e.prototype.getTag=function(e){return e.tag},e.prototype.getDestructor=function(e){return e},e}(),Wn={dynamicLayout:!0,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0},Gn=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.prototype.getDynamicLayout=function(e){var t=e.engine.lookup("template:application"),n=t.asLayout()
-return{handle:n.compile(),symbolTable:n.symbolTable}},t.prototype.getCapabilities=function(){return Wn},t.prototype.create=function(e,t){var n,r,i=e.owner.buildChildEngineInstance(t.name)
-i.boot()
-var o=i.factoryFor("controller:application"),s=o||(0,v.generateControllerFactory)(i,"application"),u=void 0,c=void 0,l=void 0,h=void 0,d=t.modelRef
-return void 0===d?(u=s.create(),c=new ot(u),h=a.CONSTANT_TAG,l={engine:i,controller:u,self:c,tag:h}):(n=d.value(),r=d.tag.value(),u=s.create({model:n}),c=new ot(u),h=d.tag,l={engine:i,controller:u,self:c,tag:h,modelRef:d,modelRev:r}),l},t.prototype.getSelf=function(e){return e.self},t.prototype.getTag=function(e){return e.tag},t.prototype.getDestructor=function(e){return e.engine},t.prototype.didRenderLayout=function(){},t.prototype.update=function(e){var t,n=e.controller,r=e.modelRef,i=e.modelRev
-r.tag.validate(i)||(t=r.value(),e.modelRev=r.tag.value(),n.set("model",t))},t}(Qt),Yn=new Gn,Kn=function(e,t){this.manager=Yn,this.state={name:e,modelRef:t}},Qn=function(){function e(e,t,n){this.tag=e.tag,this.nameRef=e,this.modelRef=n,this.env=t,this._lastName=null,this._lastDef=null}return e.prototype.value=function(){var e=this.env,n=this.nameRef,r=this.modelRef,i=n.value()
-return"string"==typeof i?this._lastName===i?this._lastDef:e.owner.hasRegistration("engine:"+i)?(this._lastName=i,this._lastDef=(0,t.curry)(new Kn(i,r)),this._lastDef):null:(this._lastDef=null,this._lastName=null,null)},e.prototype.get=function(){return t.UNDEFINED_REFERENCE},e}(),Zn=function(){function e(e){this.outletState=e,this.tag=a.DirtyableTag.create()}return e.prototype.get=function(e){return new Jn(this,e)},e.prototype.value=function(){return this.outletState},e.prototype.update=function(e){this.outletState.outlets.main=e,this.tag.inner.dirty()},e}(),Xn=function(){function e(e,t){this.parentStateRef=e,this.outletNameRef=t,this.tag=(0,a.combine)([e.tag,t.tag])}return e.prototype.value=function(){var e=this.parentStateRef.value(),t=void 0===e?void 0:e.outlets
-return void 0===t?void 0:t[this.outletNameRef.value()]},e.prototype.get=function(e){return new Jn(this,e)},e}(),Jn=function(){function e(e,t){this.parent=e,this.key=t,this.tag=e.tag}return e.prototype.get=function(t){return new e(this,t)},e.prototype.value=function(){var e=this.parent.value()
-return e&&e[this.key]},e}(),$n=function(){function e(e,t){this.root=e,this.name=t,this.tag=e.tag}return e.prototype.value=function(){var e=this.root.value(),t=e&&e.outlets.main,n=t&&t.outlets
-if(t=n&&n.__ember_orphans__,void 0!==(n=t&&t.outlets)){var r=n[this.name]
-if(void 0!==r&&void 0!==r.render){var i=Object.create(null)
-return i[r.render.outlet]=r,r.wasUsed=!0,{outlets:i,render:void 0}}}},e.prototype.get=function(e){return new Jn(this,e)},e}(),er=function(){function e(e){this.outletRef=e,this.definition=null,this.lastState=null,this.tag=e.tag}return e.prototype.value=function(){var e=Ne(this.outletRef)
-if(Me(e,this.lastState))return this.definition
-this.lastState=e
-var n=null
-return null!==e&&(n=(0,t.curry)(new $t(e))),this.definition=n},e.prototype.get=function(){return t.UNDEFINED_REFERENCE},e}(),tr=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.prototype.create=function(e,t,n,r){var i=t.name
-return r.rootOutletState&&(r.outletState=new $n(r.rootOutletState,i)),this.createRenderState(n,e.owner,i)},t.prototype.getLayout=function(e){var t=e.template,n=t.asLayout()
-return{handle:n.compile(),symbolTable:n.symbolTable}},t.prototype.getSelf=function(e){var t=e.controller
-return new ot(t)},t}(Qt),nr={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!1,attributeHook:!1,elementHook:!1,createCaller:!0,dynamicScope:!0,updateHook:!0,createInstance:!0},rr=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.prototype.createRenderState=function(e,t,n){return{controller:t.lookup("controller:"+n)||(0,v.generateController)(t,n)}},t.prototype.getCapabilities=function(){return nr},t.prototype.getTag=function(){return a.CONSTANT_TAG},t.prototype.getDestructor=function(){return null},t}(tr),ir=new rr,or={dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,dynamicScope:!0,createCaller:!1,updateHook:!0,createInstance:!0},sr=function(e){function t(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(t,e),t.prototype.createRenderState=function(e,t,n){var r=e.positional.at(1)
-return{controller:(t.factoryFor("controller:"+n)||(0,v.generateControllerFactory)(t,"controller:"+n)).create({model:r.value()}),model:r}},t.prototype.update=function(e){var t=e.controller,n=e.model
-t.set("model",n.value())},t.prototype.getCapabilities=function(){return or},t.prototype.getTag=function(e){return e.model.tag},t.prototype.getDestructor=function(e){return e.controller},t}(tr),ar=new sr,ur=function(e,t,n){this.manager=n,this.state={name:e,template:t}},cr=[],lr=function(e){function t(t){var n=(0,i.possibleConstructorReturn)(this,e.call(this))
-return n.delegate=t,n}return(0,i.inherits)(t,e),t.prototype.create=function(e,t,n,r){var i=this.delegate,o=n.named.capture(),s=i.create({args:o.value(),ComponentClass:t.ComponentClass}),a=r.view
-return null!==a&&void 0!==a&&(0,h.addChildView)(a,s),r.view=s,new hr(i,s,o)},t.prototype.update=function(e){var t=e.component,n=e.args
-this.delegate.update(t,n.value())},t.prototype.didUpdate=function(e){var t=e.component
-"function"==typeof this.delegate.didUpdate&&this.delegate.didUpdate(t)},t.prototype.getContext=function(e){this.delegate.getContext(e)},t.prototype.getLayout=function(e){return{handle:e.template.asLayout().compile(),symbolTable:e.symbolTable}},t.prototype.getSelf=function(e){var t=e.component,n=this.delegate.getContext(t)
-return new ot(n)},t.prototype.getDestructor=function(e){return e},t.prototype.getCapabilities=function(){return{dynamicLayout:!1,dynamicTag:!1,prepareArgs:!1,createArgs:!0,attributeHook:!1,elementHook:!1,createCaller:!1,dynamicScope:!0,updateHook:!0,createInstance:!0}},t.prototype.getTag=function(e){return e.args.tag},t.prototype.didRenderLayout=function(e){var t=e.component
-Be(t).register(t),"function"==typeof this.delegate.didCreate&&this.delegate.didCreate(t)},t}(Qt),hr=function(){function e(e,t,n){this.delegate=e,this.component=t,this.args=n}return e.prototype.destroy=function(){var e=this.delegate,t=this.component
-Be(t).unregister(t),e.destroy&&e.destroy(t)},e}(),dr=(0,s.symbol)("COMPONENT_MANAGER"),pr={if:function(e,t){var n=t.positional
-return Dn.create(n.at(0),n.at(1),n.at(2))},action:ge,concat:function(e,t){return new pt(Ce,t.capture())},get:function(e,t){return Ln.create(t.positional.at(0),t.positional.at(1))},hash:function(e,t){return t.named.capture()},log:function(e,t){return new pt(_e,t.capture())},mut:function(e,t){var n=t.positional.at(0)
-if(Ie(n))return n
-var r=Object.create(n)
-return r[Fn]=n,r[tt]=n[et],r[zn]=!0,r},"query-params":function(e,t){return new pt(xe,t.capture())},readonly:function(e,t){var n=we(t.positional.at(0))
-return new gt(n)},unbound:function(e,t){return ft.create(t.positional.at(0).value())},unless:function(e,t){var n=t.positional
-return Dn.create(n.at(0),n.at(2),n.at(1))},"-class":function(e,t){return new pt(he,t.capture())},"-each-in":function(e,t){return new Pt(t.positional.at(0))},"-input-type":function(e,t){return new pt(pe,t.capture())},"-normalize-class":function(e,t){return new pt(fe,t.capture())},"-html-safe":function(e,t){return new pt(de,t.capture())},"-get-dynamic-var":t.getDynamicVar,"-mount":function(e,t){var n=e.env,r=t.positional.at(0),i=t.named.has("model")?t.named.get("model"):void 0
-return new Qn(r,n,i)},"-outlet":function(e,t){var n=e.dynamicScope(),r=void 0
-return r=0===t.positional.length?new a.ConstReference("main"):t.positional.at(0),new er(new Xn(n.outletState,r))},"-render":function(e,n){var r,i,o,s,a=e.env,u=n.positional.at(0),c=u.value(),l=a.owner.lookup("template:"+c),h=void 0
-return n.named.has("controller")?(r=n.named.get("controller"),h=r.value()):h=c,1===n.positional.length?(i=new ur(h,l,ir),ft.create((0,t.curry)(i))):(o=new ur(h,l,ar),s=n.capture(),ft.create((0,t.curry)(o,s)))}},fr={action:new Vn},gr=function(){function e(){this.handles=[void 0],this.objToHandle=new WeakMap,this.builtInHelpers=pr,this.builtInModifiers=fr,this.templateCache=new Map,this.componentDefinitionCache=new Map,this.templateCacheHits=0,this.templateCacheMisses=0,this.componentDefinitionCount=0,this.helperDefinitionCount=0
-var e=new o.Macros
-Fe(e),this.compiler=new o.LazyCompiler(new Sn(this),this,e)}return e.prototype.lookupComponentDefinition=function(e,t){var n=this.lookupComponentHandle(e,t)
-return null===n?null:this.resolve(n)},e.prototype.lookupComponentHandle=function(e,t){var n=this.handles.length,r=this.handle(this._lookupComponentDefinition(e,t))
-return n===r&&this.componentDefinitionCount++,r},e.prototype.resolve=function(e){return this.handles[e]},e.prototype.lookupHelper=function(e,t){var n,r=this.handles.length,i=this._lookupHelper(e,t)
-return null!==i?(n=this.handle(i),r===n&&this.helperDefinitionCount++,n):null},e.prototype.lookupModifier=function(e){return this.handle(this._lookupModifier(e))},e.prototype.lookupPartial=function(e,t){var n=this._lookupPartial(e,t)
-return this.handle(n)},e.prototype.createTemplate=function(e,t){var n,r,i=this.templateCache.get(t)
-void 0===i&&(i=new Map,this.templateCache.set(t,i))
-var o=i.get(e)
-return void 0===o?(n=this.compiler,r={compiler:n},(0,s.setOwner)(r,t),o=e.create(r),i.set(e,o),this.templateCacheMisses++):this.templateCacheHits++,o},e.prototype.handle=function(e){if(void 0===e||null===e)return null
-var t=this.objToHandle.get(e)
-return void 0===t&&(t=this.handles.push(e)-1,this.objToHandle.set(e,t)),t},e.prototype._lookupHelper=function(e,t){var n=this.builtInHelpers[e]
-if(void 0!==n)return n
-var r=t.owner,i=t.moduleName,o=e,s=qe(i,void 0),a=r.factoryFor("helper:"+o,s)||r.factoryFor("helper:"+o)
-return b(a)?function(e,t){var n=a.create()
-return C(n)?new ht(n.compute,t.capture()):(e.newDestroyable(n),dt.create(n,t.capture()))}:null},e.prototype._lookupPartial=function(e,t){var n=(0,h.lookupPartial)(e,t.owner),r=new o.PartialDefinition(e,(0,h.lookupPartial)(e,t.owner))
-if(n)return r
-throw new Error(e+" is not a partial")},e.prototype._lookupModifier=function(e){var t=this.builtInModifiers[e]
-return void 0!==t?t:null},e.prototype._parseNameForNamespace=function(e){var t=e,n=void 0,r=e.indexOf("::")
-return-1!==r&&(t=e.slice(r+2),n=e.slice(0,r)),{name:t,namespace:n}},e.prototype._lookupComponentDefinition=function(e,t){var n,r=e,i=(0,h.lookupComponent)(t.owner,r,qe(t.moduleName,void 0)),o=i.layout,s=i.component,a=void 0===s?o:s
-if(void 0===a)return null
-var u=this.componentDefinitionCache.get(a)
-if(void 0!==u)return u
-if(o&&!s&&d.ENV._TEMPLATE_ONLY_GLIMMER_COMPONENTS)return n=new Rn(o),this.componentDefinitionCache.set(a,n),n
-var l=(0,c._instrumentStart)("render.getComponentDefinition",Ue,r),p=o||s?new gn(r,void 0,s||t.owner.factoryFor((0,g.privatize)(Ge)),null,o):null
-return l(),this.componentDefinitionCache.set(a,p),p},e}(),mr={create:function(){return(new gr).compiler}},vr=y({id:"o98Iahwz",block:'{"symbols":["&default"],"statements":[[13,1]],"hasEval":false}',meta:{moduleName:"packages/ember-glimmer/lib/templates/component.hbs"}}),yr=y({id:"cNysaqQS",block:'{"symbols":[],"statements":[[1,[20,"outlet"],false]],"hasEval":false}',meta:{moduleName:"packages/ember-glimmer/lib/templates/outlet.hbs"}}),br="-top-level",Cr="main",Ar=function(){function e(e,t,n,r){this._environment=e,this.renderer=t,this.owner=n,this.template=r
-var i=this.ref=new Zn({outlets:{main:void 0},render:{owner:n,into:void 0,outlet:Cr,name:br,controller:void 0,template:r}})
-this.state={ref:i,name:br,outlet:Cr,template:r,controller:void 0}}return e.extend=function(t){return function(e){function n(){return(0,i.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,i.inherits)(n,e),n.create=function(n){return n?e.create.call(this,(0,s.assign)({},t,n)):e.create.call(this,t)},n}(e)},e.reopenClass=function(e){(0,s.assign)(this,e)},e.create=function(t){var n=t._environment,r=t.renderer,i=t.template
-return new e(n,r,t[s.OWNER],i)},e.prototype.appendTo=function(e){var t=this._environment||d.environment,n=void 0
-n=t.hasDOM&&"string"==typeof e?document.querySelector(e):e,(0,c.schedule)("render",this.renderer,"appendOutletView",this,n)},e.prototype.rerender=function(){},e.prototype.setOutletState=function(e){this.ref.update(e)},e.prototype.destroy=function(){},e}()
-e.RootTemplate=Ze,e.template=y,e.Checkbox=wt,e.TextField=kt,e.TextArea=jt,e.LinkComponent=St,e.Component=_t,e.ROOT_REF=yt,e.Helper=Je,e.helper=A,e.Environment=Kt,e.SafeString=Ut,e.escapeExpression=function(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML()
-if(null===e||void 0===e)return""
-if(!e)return e+""
-e=""+e}return Vt.test(e)?e.replace(Wt,D):e},e.htmlSafe=z,e.isHTMLSafe=F,e.Renderer=wn,e.InertRenderer=xn,e.InteractiveRenderer=kn,e._resetRenderers=function(){An.length=0},e.renderSettled=ie,e.getTemplate=ue,e.setTemplate=le,e.hasTemplate=ce,e.getTemplates=ae,e.setTemplates=function(e){jn=e},e.setupEngineRegistry=function(e){e.register("view:-outlet",Ar),e.register("template:-outlet",yr),e.injection("view:-outlet","template","template:-outlet"),e.injection("service:-dom-changes","document","service:-document"),e.injection("service:-dom-tree-construction","document","service:-document"),e.register((0,g.privatize)(We),vr),e.register("service:-glimmer-environment",Kt),e.register((0,g.privatize)(Ke),mr),e.injection("template","compiler",(0,g.privatize)(Ke)),e.optionsForType("helper",{instantiate:!1}),e.register("helper:loc",En),e.register("component:-text-field",kt),e.register("component:-text-area",jt),e.register("component:-checkbox",wt),e.register("component:link-to",St),d.ENV._TEMPLATE_ONLY_GLIMMER_COMPONENTS||e.register((0,g.privatize)(Ge),_t)},e.setupApplicationRegistry=function(e){e.injection("service:-glimmer-environment","appendOperations","service:-dom-tree-construction"),e.injection("renderer","env","service:-glimmer-environment"),e.register("service:-dom-builder",{create:function(e){switch(e.bootOptions._renderMode){case"serialize":return r.serializeBuilder.bind(null)
-case"rehydrate":return t.rehydrationBuilder.bind(null)
-default:return t.clientBuilder.bind(null)}}}),e.injection("service:-dom-builder","bootOptions","-environment:main"),e.injection("renderer","builder","service:-dom-builder"),e.register((0,g.privatize)(Ye),Ze),e.injection("renderer","rootTemplate",(0,g.privatize)(Ye)),e.register("renderer:-dom",kn),e.register("renderer:-inert",xn),d.environment.hasDOM&&e.injection("service:-glimmer-environment","updateOperations","service:-dom-changes"),e.register("service:-dom-changes",{create:function(e){var n=e.document
-return new t.DOMChanges(n)}}),e.register("service:-dom-tree-construction",{create:function(e){var n=e.document
-return new(d.environment.hasDOM?t.DOMTreeConstruction:r.NodeDOMTreeConstruction)(n)}})},e._registerMacros=function(e){cr.push(e)},e._experimentalMacros=cr,e.AbstractComponentManager=Qt
-e.UpdatableReference=ct,e.INVOKE=tt,e.iterableFor=j,e.DebugStack=void 0,e.OutletView=Ar,e.CustomComponentManager=lr,e.COMPONENT_MANAGER=dr,e.componentManager=He}),e("ember-metal",["exports","ember-environment","ember-debug","ember-babel","container","backburner","@glimmer/reference","ember-utils","ember/version"],function(e,t,n,r,i,o,s,a,u){"use strict"
-function c(e,t,n){var r,i=t[n+1],o=t[n+2]
-for(r=0;r<e.length;r+=3)if(e[r]===i&&e[r+1]===o)return
-e.push(i,o,t[n+3])}function l(e,n,r,i,o){t.ENV._ENABLE_DID_INIT_ATTRS_SUPPORT,i||"function"!=typeof r||(i=r,r=null),ce(e).addToListeners(n,r,i,o)}function h(e,t,n,r){r||"function"!=typeof n||(r=n,n=null),ce(e).removeFromListeners(t,n,r)}function d(e,t,n,r,i){var o,s,a,u,c
-if(void 0===r&&(o=void 0===i?ue(e):i,r="object"==typeof o&&null!==o&&o.matchingListeners(t)),void 0===r||0===r.length)return!1
-for(s=r.length-3;s>=0;s-=3)a=r[s],u=r[s+1],c=r[s+2],u&&(c&&h(e,t,a,u),a||(a=e),"string"==typeof u&&(u=a[u]),u.apply(a,n))
-return!0}function p(){return vt}function f(){return bt}function g(){return At}function m(){return It.run.apply(It,arguments)}function v(){return It.join.apply(It,arguments)}function y(){return s.DirtyableTag.create()}function b(e,t,n){if("object"!=typeof e||null===e)return s.CONSTANT_TAG
-var r=void 0===n?ce(e):n
-if(a.isProxy(e))return C(e,r)
-var i=r.writableTags(),o=i[t]
-return o||(i[t]=y())}function C(e,t){var n
-return"object"==typeof e&&null!==e?(n=void 0===t?ce(e):t,n.writableTag(y)):s.CONSTANT_TAG}function A(e,t,n){var r=n.readableTag()
-void 0!==r&&(a.isProxy(e)?r.inner.first.inner.dirty():r.inner.dirty())
-var i=n.readableTags(),o=void 0!==i?i[t]:void 0
-void 0!==o&&kt(o),void 0===r&&void 0===o||_()}function _(){xt()&&It.ensureInstance()}function I(e,t,n){var r=void 0===n?ce(e):n,i=r.peekWatching(t)||0
-r.writeWatching(t,i+1),0===i&&r.writableChains(re).add(t)}function w(e,t,n){var r=void 0===n?ue(e):n
-if(void 0!==r){var i=r.peekWatching(t)
-i>0&&(r.writeWatching(t,i-1),1===i&&r.writableChains(re).remove(t))}}function x(e,t,n){de(t)?I(e,t,n):U(e,t,n)}function k(e,t){var n=ue(e)
-return void 0!==n&&n.peekWatching(t)||0}function j(e,t,n){de(t)?w(e,t,n):q(e,t,n)}function E(e){return e+":change"}function S(e,t,n,r){l(e,E(t),n,r),x(e,t)}function T(e,t,n,r){j(e,t),h(e,E(t),n,r)}function P(e,t,n){var r=void 0===n?ue(e):n,i=void 0!==r
-if(!i||r.isInitialized(e)){var o=le(e,t,r)
-if(void 0!==o&&"function"==typeof o.didChange&&o.didChange(e,t),i&&r.peekWatching(t)>0&&(O(e,t,r),N(e,t,r),F(e,t,r)),Et in e&&e[Et](t),i){if(r.isSourceDestroying())return
-A(e,t,r)}}}function O(e,t,n){if(!n.isSourceDestroying()&&n.hasDeps(t)){var r=Ot
-r&&(Ot=!1),R(P,e,t,Pt,n),r&&(Pt.clear(),Ot=!0)}}function R(e,t,n,r,i){var o=r.get(t)
-if(void 0===o&&(o=new Set,r.set(t,o)),!o.has(n)){var s=void 0
-i.forEachInDeps(n,function(n,r){r&&(void 0!==(s=le(t,n,i))&&s._suspended===t||e(t,n,i))})}}function N(e,t,n){var r=n.readableChainWatchers()
-void 0!==r&&r.notify(t,!0,P)}function M(e,t,n){var r=n.readableChainWatchers()
-void 0!==r&&r.revalidate(t)}function L(){Tt++}function D(){--Tt<=0&&St.flush()}function z(e){L()
-try{e()}finally{D()}}function F(e,t,n){if(!n.isSourceDestroying()){var r=E(t)
-Tt>0?St.add(e,t,r):d(e,r,[e,t])}}function B(e,t){return function(){return t.get(this,e)}}function H(e,t,n,r,i){void 0===i&&(i=ce(e))
-var o=i.peekWatching(t),s=void 0!==o&&o>0,a=le(e,t,i),u=void 0!==a
-u&&(a.teardown(e,t,i),i.removeDescriptors(t))
-var c=!0
-e===Array.prototype&&(c=!1)
-var l=void 0
-return n instanceof Rt?(l=n,Object.defineProperty(e,t,{configurable:!0,enumerable:c,get:B(t,l)}),i.writeDescriptors(t,l),"function"==typeof n.setup&&n.setup(e,t)):void 0===n||null===n?(l=r,u?Object.defineProperty(e,t,{configurable:!0,enumerable:c,writable:!0,value:l}):!1===c?Object.defineProperty(e,t,{configurable:!0,enumerable:c,writable:!0,value:l}):e[t]=r):(l=n,Object.defineProperty(e,t,n)),s&&M(e,t,i),"function"==typeof e.didDefineProperty&&e.didDefineProperty(e,t,l),this}function U(e,t,n){var r,i=void 0===n?ce(e):n,o=i.peekWatching(t)||0
-i.writeWatching(t,o+1),0===o&&(r=le(e,t,i),void 0!==r&&r.willWatch&&r.willWatch(e,t,i),"function"==typeof e.willWatchProperty&&e.willWatchProperty(t))}function q(e,t,n){var r,i,o=void 0===n?ue(e):n
-if(void 0!==o&&!o.isSourceDestroyed()){var s=o.peekWatching(t)
-1===s?(o.writeWatching(t,0),r=le(e,t,o),i=void 0!==r,i&&r.didUnwatch&&r.didUnwatch(e,t,o),"function"==typeof e.didUnwatchProperty&&e.didUnwatchProperty(t)):s>1&&o.writeWatching(t,s-1)}}function V(e,t){return Array.isArray(e)?e[t]:e.objectAt(t)}function W(e,t,n,r){var i,o
-if(Y(e,t,n,r.length),r.length<=Mt)e.splice.apply(e,[t,n].concat(r))
-else for(e.splice(t,n),i=0;i<r.length;i+=Mt)o=r.slice(i,i+Mt),e.splice.apply(e,[t+i,0].concat(o))
-K(e,t,n,r.length)}function G(e,t,n,r,i){var o=n&&n.willChange||"arrayWillChange",s=n&&n.didChange||"arrayDidChange",a=me(e,"hasArrayObservers")
-return r(e,"@array:before",t,o),r(e,"@array:change",t,s),a===i&&P(e,"hasArrayObservers"),e}function Y(e,t,n,r){return void 0===t?(t=0,n=r=-1):(void 0===n&&(n=-1),void 0===r&&(r=-1)),Z(e,t,n,r),d(e,"@array:before",[e,t,n,r]),e}function K(e,t,n,r){void 0===t?(t=0,n=r=-1):(void 0===n&&(n=-1),void 0===r&&(r=-1))
-var i,o,s,a,u,c=ue(e);(r<0||n<0||r-n!=0)&&P(e,"length",c),P(e,"[]",c),X(e,t,n,r),d(e,"@array:change",[e,t,n,r])
-var l=Se(e)
-return void 0!==l&&(i=me(e,"length"),o=-1===r?0:r,s=-1===n?0:n,a=i-(o-s),u=t<0?a+t:t,l.has("firstObject")&&0===u&&P(e,"firstObject",c),l.has("lastObject")&&a-1<u+s&&P(e,"lastObject",c)),e}function Q(e){var t=Lt.get(e)
-return void 0===t&&(t=new Dt(e),Lt.set(e,t)),t}function Z(e,t,n,r){var i=Lt.get(e)
-void 0!==i&&i.arrayWillChange(e,t,n,r)}function X(e,t,n,r){var i=Lt.get(e)
-void 0!==i&&i.arrayDidChange(e,t,n,r)}function J(e,t,n,r,i){for(var o;--i>=r;)(o=V(e,i))&&S(o,t,n,"contentKeyDidChange")}function $(e,t,n,r,i){for(var o;--i>=r;)(o=V(e,i))&&T(o,t,n,"contentKeyDidChange")}function ee(e){return"object"==typeof e&&null!==e}function te(e,t,n){var r=le(e,t,n)
-return!(void 0!==r&&!1===r._volatile)}function ne(){return new zt}function re(e){return new Ft(null,null,e)}function ie(e,t,n){var r=ce(e)
-r.writableChainWatchers(ne).add(t,n),U(e,t,r)}function oe(e,t,n,r){if(ee(e)){var i=void 0===r?ue(e):r
-void 0!==i&&void 0!==i.readableChainWatchers()&&(i=ce(e),i.readableChainWatchers().remove(t,n),q(e,t,i))}}function se(e,t){if(ee(e)){var n=ue(e)
-if(void 0===n||n.proto!==e)return"@each"===t?Q(e):te(e,t,n)?me(e,t):Ee(e,t)}}function ae(e,t){Wt.set(e,t)}function ue(e){for(var t=e,n=void 0;void 0!==t&&null!==t;){if(void 0!==(n=Wt.get(t)))return n
-t=Vt(t)}}function ce(e){var t=ue(e),n=void 0
-if(void 0!==t){if(t.source===e)return t
-n=t}var r=new Ut(e,n)
-return ae(e,r),r}function le(e,t,n){var r=void 0===n?ue(e):n
-if(void 0!==r)return r.peekDescriptors(t)}function he(e){return void 0!==e&&null!==e&&"object"==typeof e&&!0===e.isDescriptor}function de(e){return"string"==typeof e&&-1!==Yt.get(e)}function pe(e,t,n){return"value"in n?ge(t,n):fe(t,n)}function fe(e,t){function n(){var t=Qt,n=Qt=new Kt,r=i.call(this)
-Qt=t
-var o=n.combine()
-return Qt&&Qt.add(o),(void 0)(b(this,e),o),r}function r(){kt(b(this,e)),o.apply(this,arguments)}var i=t.get,o=t.set
-return{enumerable:!0,configurable:!1,get:i&&n,set:o&&r}}function ge(e,t){var n=Symbol(e)
-return{enumerable:!0,configurable:!0,get:function(){return Qt&&Qt.add(b(this,e)),n in this||(this[n]=t.value),this[n]},set:function(t){C(this).inner.dirty(),kt(b(this,e)),this[n]=t,Zt()}}}function me(e,t){var n=typeof e,r="object"===n,i=void 0,o=void 0
-if(r||"function"===n){if(void 0!==(i=le(e,t)))return i.get(e,t)
-if(o=e[t],he(o))return Object.defineProperty(e,t,{configurable:!0,enumerable:!1===o.enumerable,get:function(){return o.get(this,t)}}),ce(e).writeDescriptors(t,o),"function"==typeof o.setup&&o.setup(e,t),o.get(e,t)}else o=e[t]
-if(void 0===o){if(de(t))return ve(e,t)
-if(r&&!(t in e)&&"function"==typeof e.unknownProperty)return e.unknownProperty(t)}return o}function ve(e,t){var n,r=e,i=t.split(".")
-for(n=0;n<i.length;n++){if(!ye(r))return
-if((r=me(r,i[n]))&&r.isDestroyed)return}return r}function ye(e){return void 0!==e&&null!==e&&Xt[typeof e]}function be(e,t,n,r){if(!e.isDestroyed){if(de(t))return Ce(e,t,n,r)
-var i,o=le(e,t)
-if(void 0!==o)return o.set(e,t,n),n
-var s=void 0
-return s=e[t],he(s)?(Object.defineProperty(e,t,{configurable:!0,enumerable:!1===s.enumerable,get:function(){return s.get(this,t)}}),ce(e).writeDescriptors(t,s),"function"==typeof s.setup&&s.setup(e,t),s.set(e,t,n),n):(void 0!==s||"object"!=typeof e||t in e||"function"!=typeof e.setUnknownProperty?(i=ue(e),e[t]=n,s!==n&&P(e,t,i)):e.setUnknownProperty(t,n),n)}}function Ce(e,t,r,i){var o=t.split("."),s=o.pop(),a=o.join("."),u=ve(e,a)
-if(u)return be(u,s,r)
-if(!i)throw new n.Error('Property set failed: object in path "'+a+'" could not be found or was destroyed.')}function Ae(e,t){var n=e.indexOf("{")
-n<0?t(e.replace($t,".[]")):_e("",e,n,t)}function _e(e,t,n,r){var i=t.indexOf("}"),o=0,s=void 0,a=void 0,u=t.substring(n+1,i).split(","),c=t.substring(i+1)
-for(e+=t.substring(0,n),a=u.length;o<a;)s=c.indexOf("{"),s<0?r((e+u[o++]+c).replace($t,".[]")):_e(e+u[o++],c,s,r)}function Ie(e,t,n,r){var i,o,s=e._dependentKeys
-if(null!==s&&void 0!==s)for(i=0;i<s.length;i++)o=s[i],r.writeDeps(o,n,(r.peekDeps(o,n)||0)+1),x(t,o,r)}function we(e,t,n,r){var i,o,s=e._dependentKeys
-if(null!==s&&void 0!==s)for(i=0;i<s.length;i++)o=s[i],r.writeDeps(o,n,(r.peekDeps(o,n)||0)-1),j(t,o,r)}function xe(){}function ke(){for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-var e,t,n,r=t.pop(),i=new en(r)
-return t.length>0&&i.property.apply(i,t),i}function je(e){var t=nn.get(e)
-return void 0===t&&(t=new Map,nn.set(e,t)),t}function Ee(e,t){var n=nn.get(e)
-if(void 0!==n)return n.get(t)}function Se(e){return nn.get(e)}function Te(e,t){throw new n.Error("Cannot set read-only property '"+t+"' on object: "+a.inspect(e))}function Pe(e,t,n){return H(e,t,null),be(e,t,n)}function Oe(e){var t,n=[],r=void 0
-for(t=0;t<sn.length;t++)r=sn[t],r.regex.test(e)&&n.push(r.object)
-return an[e]=n,n}function Re(e,t,n,r){var i=void 0
-try{i=e.call(r)}catch(e){n.exception=e,i=n}finally{t()}return i}function Ne(){}function Me(e,n,r){if(0===sn.length)return Ne
-var i=an[e]
-if(i||(i=Oe(e)),0===i.length)return Ne
-var o=n(r),s=t.ENV.STRUCTURED_PROFILE,a=void 0
-s&&(a=e+": "+o.object,console.time(a))
-var u=new Array(i.length),c=void 0,l=void 0,h=un()
-for(c=0;c<i.length;c++)l=i[c],u[c]=l.before(e,h,o)
-return function(){var t=void 0,n=void 0,r=un()
-for(t=0;t<i.length;t++)n=i[t],"function"==typeof n.after&&n.after(e,r,o,u[t])
-s&&console.timeEnd(a)}}function Le(e){return null===e||void 0===e}function De(e){var t,n,r=Le(e)
-if(r)return r
-if("number"==typeof e.size)return!e.size
-var i=typeof e
-return"object"===i&&"number"==typeof(t=me(e,"size"))?!t:"number"==typeof e.length&&"function"!==i?!e.length:"object"===i&&"number"==typeof(n=me(e,"length"))&&!n}function ze(e){return De(e)||"string"==typeof e&&!1===/\S/.test(e)}function Fe(e){var t=Object.create(null)
-for(var n in e)t[n]=e[n]
-return t}function Be(e,t){var n=e._keys.copy(),r=Fe(e._values)
-return t._keys=n,t._values=r,t.size=e.size,t}function He(e){var n=a.getName(e)
-delete bn[n],yn.splice(yn.indexOf(e),1),n in t.context.lookup&&e===t.context.lookup[n]&&(t.context.lookup[n]=void 0)}function Ue(){if(mn.unprocessedNamespaces){var e,n,r,i=t.context.lookup,o=Object.keys(i)
-for(e=0;e<o.length;e++)n=o[e],Ze(n.charCodeAt(0))&&(r=Xe(i,n))&&a.setName(r,n)}}function qe(e){return gn||We(),bn[e]}function Ve(e){Qe([e.toString()],e,new Set)}function We(){var e,t,n=mn.unprocessedNamespaces
-if(n&&(Ue(),mn.unprocessedNamespaces=!1),n||vn){for(e=yn,t=0;t<e.length;t++)Ve(e[t])
-vn=!1}}function Ge(){var e=a.getName(this)
-return void 0!==e?e:(e=Je(this),a.setName(this,e),e)}function Ye(){return gn}function Ke(){vn=!0}function Qe(e,t,n){var r,i=e.length,o=e.join(".")
-bn[o]=t,a.setName(t,o)
-for(var s in t)if(fn.call(t,s))if(r=t[s],e[i]=s,r&&r.toString===Ge&&void 0===a.getName(r))a.setName(r,e.join("."))
-else if(r&&r.isNamespace){if(n.has(r))continue
-n.add(r),Qe(e,r,n)}e.length=i}function Ze(e){return e>=65&&e<=90}function Xe(e,t){var n
-try{return(null!==(n=e[t])&&"object"==typeof n||"function"==typeof n)&&n.isNamespace&&n}catch(e){}}function Je(e){var t,n=void 0
-if(!gn){if(We(),void 0!==(n=a.getName(e)))return n
-t=e
-do{if((t=Object.getPrototypeOf(t))===Function.prototype||t===Object.prototype)break
-if(void 0!==(n=a.getName(e))){n="(subclass of "+n+")"
-break}}while(void 0===n)}return n||"(unknown)"}function $e(e){return"function"==typeof e&&!1!==e.isMethod&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function et(e,t){return t instanceof _n?e.hasMixin(t)?An:(e.addMixin(t),t.properties):t}function tt(e,t,n,r){var i=n[e]||r[e]
-return t[e]&&(i=i?Cn.call(i,t[e]):t[e]),i}function nt(e,t,n,r,i,o){var s=void 0
-return void 0===r[t]&&(s=i[t]),s||(s=le(o,t,e)),void 0!==s&&s instanceof en?(n=Object.create(n),n._getter=a.wrap(n._getter,s._getter),s._setter&&(n._setter?n._setter=a.wrap(n._setter,s._setter):n._setter=s._setter),n):n}function rt(e,t,n,r,i){if(void 0!==i[t])return n
-var o=r[t]
-return void 0===o&&void 0===le(e,t)&&(o=e[t]),"function"==typeof o?a.wrap(n,o):n}function it(e,t,n,r){var i=r[t]||e[t]
-return a.makeArray(i).concat(a.makeArray(n))}function ot(e,t,n,r){var i,o=r[t]||e[t]
-if(!o)return n
-var s=a.assign({},o),u=!1
-for(var c in n)n.hasOwnProperty(c)&&(i=n[c],$e(i)?(u=!0,s[c]=rt(e,c,i,o,{})):s[c]=i)
-return u&&(s._super=a.ROOT),s}function st(e,t,n,r,i,o,s,a){n instanceof Rt?(n._getter&&(n=nt(r,t,n,o,i,e)),i[t]=n,o[t]=void 0):(s&&s.indexOf(t)>=0||"concatenatedProperties"===t||"mergedProperties"===t?n=it(e,t,n,o):a&&a.indexOf(t)>-1?n=ot(e,t,n,o):$e(n)&&(n=rt(e,t,n,o,i)),i[t]=void 0,o[t]=n)}function at(e,t,n,r,i,o){function s(e){delete n[e],delete r[e]}var a,u=void 0,c=void 0,l=void 0,h=void 0,d=void 0
-for(a=0;a<e.length;a++)if(u=e[a],(c=et(t,u))!==An)if(c){i.willMergeMixin&&i.willMergeMixin(c),h=tt("concatenatedProperties",c,r,i),d=tt("mergedProperties",c,r,i)
-for(l in c)c.hasOwnProperty(l)&&(o.push(l),st(i,l,c[l],t,n,r,h,d))
-c.hasOwnProperty("toString")&&(i.toString=c.toString)}else u.mixins&&(at(u.mixins,t,n,r,i,o),u._without&&u._without.forEach(s))}function ut(e,t,n,r){var i=t.methodName,o=void 0,s=void 0
-return n[i]||r[i]?(o=r[i],t=n[i]):void 0!==(s=le(e,i))?(t=s,o=void 0):(t=void 0,o=e[i]),{desc:t,value:o}}function ct(e,t,n,r){var i
-if(n)for(i=0;i<n.length;i++)r(e,n[i],null,t)}function lt(e,t,n,r){"function"==typeof n&&(ct(e,t,n.__ember_observes__,T),ct(e,t,n.__ember_listens__,h)),"function"==typeof r&&(ct(e,t,r.__ember_observes__,S),ct(e,t,r.__ember_listens__,l))}function ht(e,n,r){var i,o,s={},u={},c=ce(e),l=[],h=void 0,d=void 0,p=void 0
-for(e._super=a.ROOT,at(n,c,s,u,e,l),i=0;i<l.length;i++)if("constructor"!==(h=l[i])&&u.hasOwnProperty(h)){for(p=s[h],d=u[h];p&&p instanceof In;)o=ut(e,p,s,u),p=o.desc,d=o.value
-void 0===p&&void 0===d||(void 0!==le(e,h)?lt(e,h,null,d):lt(e,h,e[h],d),t.ENV._ENABLE_BINDING_SUPPORT&&"function"==typeof _n.detectBinding&&_n.detectBinding(h)&&c.writeBindings(h,d),H(e,h,p,d,c))}return t.ENV._ENABLE_BINDING_SUPPORT&&!r&&"function"==typeof _n.finishProtype&&_n.finishPartial(e,c),e}function dt(e){var t,n,r=e&&e.length,i=void 0
-if(r>0)for(i=new Array(r),t=0;t<r;t++)n=e[t],i[t]=n instanceof _n?n:new _n(void 0,n)
-return i}function pt(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set
-if(n.has(e))return!1
-if(n.add(e),e===t)return!0
-var r=e.mixins
-return!!r&&r.some(function(e){return pt(e,t,n)})}function ft(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Set
-if(!i.has(e)){if(i.add(e),e.properties)for(t=Object.keys(e.properties),n=0;n<t.length;n++)r.add(t[n])
-else e.mixins&&e.mixins.forEach(function(e){return ft(e,r,i)})
-return r}}function gt(e){var t=le(this,e),n=a.getOwner(this)||this.container,r=t.type+":"+(t.name||e)
-return n.lookup(r,{source:t.source,namespace:t.namespace})}o=o&&o.hasOwnProperty("default")?o.default:o,u=u&&u.hasOwnProperty("default")?u.default:u
-var mt={addToListeners:function(e,t,n,r){void 0===this._listeners&&(this._listeners=[]),this._listeners.push(e,t,n,r)},_finalizeListeners:function(){if(!this._listenersFinalized){void 0===this._listeners&&(this._listeners=[])
-for(var e,t=this.parent;void 0!==t&&(e=t._listeners,void 0!==e&&(this._listeners=this._listeners.concat(e)),!t._listenersFinalized);)t=t.parent
-this._listenersFinalized=!0}},removeFromListeners:function(e,t,n){for(var r,i,o=this;void 0!==o;){if(void 0!==(r=o._listeners))for(i=r.length-4;i>=0;i-=4)if(r[i]===e&&(!n||r[i+1]===t&&r[i+2]===n)){if(o!==this)return this._finalizeListeners(),this.removeFromListeners(e,t,n)
-r.splice(i,4)}if(o._listenersFinalized)break
-o=o.parent}},matchingListeners:function(e){for(var t,n,r=this,i=void 0;void 0!==r;){if(void 0!==(t=r._listeners))for(n=0;n<t.length;n+=4)t[n]===e&&(i=i||[],c(i,t,n))
-if(r._listenersFinalized)break
-r=r.parent}return i}},vt=void 0,yt={get onerror(){return vt}},bt=void 0,Ct=r.taggedTemplateLiteralLoose(["rsvpAfter"],["rsvpAfter"]),At=null,_t=["sync","actions","routerTransitions","render","afterRender","destroy",i.privatize(Ct)],It=new o(_t,{sync:{before:L,after:D},defaultQueue:"actions",onBegin:function(e){At=e},onEnd:function(e,t){At=t},onErrorTarget:yt,onErrorMethod:"onerror"}),wt=m.bind(null),xt=function(){return!1},kt=void 0
-kt=function(e){e.inner.dirty()}
-var jt=function(){function e(){this.added=new Map,this.queue=[]}return e.prototype.add=function(e,t,n){var r=this.added.get(e)
-void 0===r&&(r=new Set,this.added.set(e,r)),r.has(t)||(this.queue.push(e,t,n),r.add(t))},e.prototype.flush=function(){var e,t,n,r,i=this.queue
-for(this.added.clear(),this.queue=[],e=0;e<i.length;e+=3)t=i[e],n=i[e+1],r=i[e+2],t.isDestroying||t.isDestroyed||d(t,r,[t,n])},e}()
-e.runInTransaction=void 0,e.runInTransaction=function(e,t){return e[t](),!1}
-var Et=a.symbol("PROPERTY_DID_CHANGE"),St=new jt,Tt=0,Pt=new Map,Ot=!0,Rt=function(){this.isDescriptor=!0,this.enumerable=!0},Nt=Object.freeze([]),Mt=6e4,Lt=new WeakMap,Dt=function(){function e(e){this._content=e,this._keys=void 0,ce(this)}return e.prototype.arrayWillChange=function(e,t,n){var r=this._keys,i=n>0?t+n:-1
-if(i>0)for(var o in r)$(e,o,this,t,i)},e.prototype.arrayDidChange=function(e,t,n,r){var i=this._keys,o=r>0?t+r:-1,s=ue(this)
-for(var a in i)o>0&&J(e,a,this,t,o),P(this,a,s)},e.prototype.willWatchProperty=function(e){this.beginObservingContentKey(e)},e.prototype.didUnwatchProperty=function(e){this.stopObservingContentKey(e)},e.prototype.beginObservingContentKey=function(e){var t,n,r=this._keys
-void 0===r&&(r=this._keys=Object.create(null)),r[e]?r[e]++:(r[e]=1,t=this._content,n=me(t,"length"),J(t,e,this,0,n))},e.prototype.stopObservingContentKey=function(e){var t,n,r=this._keys
-void 0!==r&&r[e]>0&&--r[e]<=0&&(t=this._content,n=me(t,"length"),$(t,e,this,0,n))},e.prototype.contentKeyDidChange=function(e,t){P(this,t)},e}(),zt=function(){function e(){this.chains=Object.create(null)}return e.prototype.add=function(e,t){var n=this.chains[e]
-void 0===n?this.chains[e]=[t]:n.push(t)},e.prototype.remove=function(e,t){var n,r=this.chains[e]
-if(void 0!==r)for(n=0;n<r.length;n++)if(r[n]===t){r.splice(n,1)
-break}},e.prototype.has=function(e,t){var n,r=this.chains[e]
-if(void 0!==r)for(n=0;n<r.length;n++)if(r[n]===t)return!0
-return!1},e.prototype.revalidateAll=function(){for(var e in this.chains)this.notify(e,!0,void 0)},e.prototype.revalidate=function(e){this.notify(e,!0,void 0)},e.prototype.notify=function(e,t,n){var r,i,o,s,a=this.chains[e]
-if(void 0!==a&&0!==a.length){var u=void 0
-for(n&&(u=[]),r=0;r<a.length;r++)a[r].notify(t,u)
-if(void 0!==n)for(i=0;i<u.length;i+=2)o=u[i],s=u[i+1],n(o,s)}},e}(),Ft=function(){function e(e,t,n){this._parent=e,this._key=t,this._chains=void 0,this._object=void 0,this.count=0,this._value=n,this._paths=void 0
-var r,i=this._isWatching=void 0===n
-if(i){if(r=e.value(),!ee(r))return
-this._object=r,ie(this._object,this._key,this)}}return e.prototype.value=function(){var e
-return void 0===this._value&&this._isWatching&&(e=this._parent.value(),this._value=se(e,this._key)),this._value},e.prototype.destroy=function(){this._isWatching&&(oe(this._object,this._key,this),this._isWatching=!1)},e.prototype.copy=function(e){var t,n=re(e),r=this._paths
-if(void 0!==r){t=void 0
-for(t in r)r[t]>0&&n.add(t)}return n},e.prototype.add=function(e){var t=this._paths||(this._paths={})
-t[e]=(t[e]||0)+1
-var n=e.split(".")
-this.chain(n.shift(),n)},e.prototype.remove=function(e){var t=this._paths
-if(void 0!==t){t[e]>0&&t[e]--
-var n=e.split(".")
-this.unchain(n.shift(),n)}},e.prototype.chain=function(t,n){var r=this._chains,i=void 0
-void 0===r?r=this._chains=Object.create(null):i=r[t],void 0===i&&(i=r[t]=new e(this,t,void 0)),i.count++,n.length>0&&i.chain(n.shift(),n)},e.prototype.unchain=function(e,t){var n=this._chains,r=n[e]
-t.length>0&&r.unchain(t.shift(),t),--r.count<=0&&(n[r._key]=void 0,r.destroy())},e.prototype.notify=function(e,t){e&&this._isWatching&&(n=this._parent.value(),n!==this._object&&(oe(this._object,this._key,this),ee(n)?(this._object=n,ie(n,this._key,this)):this._object=void 0),this._value=void 0)
-var n,r,i=this._chains
-if(void 0!==i){r=void 0
-for(var o in i)void 0!==(r=i[o])&&r.notify(e,t)}t&&this._parent&&this._parent.populateAffected(this._key,1,t)},e.prototype.populateAffected=function(e,t,n){this._key&&(e=this._key+"."+e),this._parent?this._parent.populateAffected(e,t+1,n):t>1&&n.push(this.value(),e)},e}(),Bt=a.symbol("undefined"),Ht=[],Ut=function(){function e(e,n){this._descriptors=void 0,this._watching=void 0,this._mixins=void 0,t.ENV._ENABLE_BINDING_SUPPORT&&(this._bindings=void 0),this._deps=void 0,this._chainWatchers=void 0,this._chains=void 0,this._tag=void 0,this._tags=void 0,this._flags=0,this.source=e,this.proto=void 0,this.parent=n,this._listeners=void 0,this._listenersFinalized=!1}return e.prototype.isInitialized=function(e){return this.proto!==e},e.prototype.destroy=function(){if(!this.isMetaDestroyed()){var e,t=void 0,n=void 0,r=void 0,i=this.readableChains()
-if(void 0!==i)for(Ht.push(i);Ht.length>0;){if(i=Ht.pop(),void 0!==(t=i._chains))for(n in t)void 0!==t[n]&&Ht.push(t[n])
-i._isWatching&&void 0!==(r=i._object)&&(e=ue(r))&&!e.isSourceDestroying()&&oe(r,i._key,i,e)}this.setMetaDestroyed()}},e.prototype.isSourceDestroying=function(){return this._hasFlag(2)},e.prototype.setSourceDestroying=function(){this._flags|=2},e.prototype.isSourceDestroyed=function(){return this._hasFlag(4)},e.prototype.setSourceDestroyed=function(){this._flags|=4},e.prototype.isMetaDestroyed=function(){return this._hasFlag(8)},e.prototype.setMetaDestroyed=function(){this._flags|=8},e.prototype._hasFlag=function(e){return(this._flags&e)===e},e.prototype._getOrCreateOwnMap=function(e){return this[e]||(this[e]=Object.create(null))},e.prototype._getOrCreateOwnSet=function(e){return this[e]||(this[e]=new Set)},e.prototype._getInherited=function(e){for(var t,n=this;void 0!==n;){if(void 0!==(t=n[e]))return t
-n=n.parent}},e.prototype._findInherited=function(e,t){for(var n,r,i=this;void 0!==i;){if(void 0!==(n=i[e])&&void 0!==(r=n[t]))return r
-i=i.parent}},e.prototype._hasInInheritedSet=function(e,t){for(var n,r=this;void 0!==r;){if(void 0!==(n=r[e])&&n.has(t))return!0
-r=r.parent}return!1},e.prototype.writeDeps=function(e,t,n){var r=this._getOrCreateOwnMap("_deps"),i=r[e]
-void 0===i&&(i=r[e]=Object.create(null)),i[t]=n},e.prototype.peekDeps=function(e,t){for(var n,r,i,o=this;void 0!==o;){if(void 0!==(n=o._deps)&&void 0!==(r=n[e])&&void 0!==(i=r[t]))return i
-o=o.parent}},e.prototype.hasDeps=function(e){for(var t,n=this;void 0!==n;){if(void 0!==(t=n._deps)&&void 0!==t[e])return!0
-n=n.parent}return!1},e.prototype.forEachInDeps=function(e,t){return this._forEachIn("_deps",e,t)},e.prototype._forEachIn=function(e,t,n){for(var r,i,o,s=this,a=void 0,u=void 0;void 0!==s;){if(void 0!==(r=s[e])&&void 0!==(i=r[t]))for(var c in i)a=void 0===a?new Set:a,a.has(c)||(a.add(c),u=u||[],u.push(c,i[c]))
-s=s.parent}if(void 0!==u)for(o=0;o<u.length;o+=2)n(u[o],u[o+1])},e.prototype.writableTags=function(){return this._getOrCreateOwnMap("_tags")},e.prototype.readableTags=function(){return this._tags},e.prototype.writableTag=function(e){var t=this._tag
-return void 0===t&&(t=this._tag=e(this.source)),t},e.prototype.readableTag=function(){return this._tag},e.prototype.writableChainWatchers=function(e){var t=this._chainWatchers
-return void 0===t&&(t=this._chainWatchers=e(this.source)),t},e.prototype.readableChainWatchers=function(){return this._chainWatchers},e.prototype.writableChains=function(e){var t=this._chains
-return void 0===t&&(t=void 0===this.parent?e(this.source):this.parent.writableChains(e).copy(this.source),this._chains=t),t},e.prototype.readableChains=function(){return this._getInherited("_chains")},e.prototype.writeWatching=function(e,t){this._getOrCreateOwnMap("_watching")[e]=t},e.prototype.peekWatching=function(e){return this._findInherited("_watching",e)},e.prototype.addMixin=function(e){this._getOrCreateOwnSet("_mixins").add(e)},e.prototype.hasMixin=function(e){return this._hasInInheritedSet("_mixins",e)},e.prototype.forEachMixins=function(e){for(var t,n=this,r=void 0;void 0!==n;)t=n._mixins,void 0!==t&&(r=void 0===r?new Set:r,t.forEach(function(t){r.has(t)||(r.add(t),e(t))})),n=n.parent},e.prototype.writeBindings=function(e,t){this._getOrCreateOwnMap("_bindings")[e]=t},e.prototype.peekBindings=function(e){return this._findInherited("_bindings",e)},e.prototype.forEachBindings=function(e){for(var t,n=this,r=void 0;void 0!==n;){if(void 0!==(t=n._bindings))for(var i in t)r=r||Object.create(null),void 0===r[i]&&(r[i]=!0,e(i,t[i]))
-n=n.parent}},e.prototype.clearBindings=function(){this._bindings=void 0},e.prototype.writeDescriptors=function(e,t){this._getOrCreateOwnMap("_descriptors")[e]=t},e.prototype.peekDescriptors=function(e){var t=this._findInherited("_descriptors",e)
-return t===Bt?void 0:t},e.prototype.removeDescriptors=function(e){this.writeDescriptors(e,Bt)},e.prototype.forEachDescriptors=function(e){for(var t,n,r=this,i=void 0;void 0!==r;){if(void 0!==(t=r._descriptors))for(var o in t)i=void 0===i?new Set:i,i.has(o)||(i.add(o),(n=t[o])!==Bt&&e(o,n))
-r=r.parent}},e}()
-for(var qt in mt)Ut.prototype[qt]=mt[qt]
-var Vt=Object.getPrototypeOf,Wt=new WeakMap,Gt=function(){function e(e,t,n,r){this.size=0,this.misses=0,this.hits=0,this.limit=e,this.func=t,this.key=n,this.store=r||new Map}return e.prototype.get=function(e){var t=void 0===this.key?e:this.key(e),n=this.store.get(t)
-return void 0===n?(this.misses++,n=this._set(t,this.func(e))):n===Bt?(this.hits++,n=void 0):this.hits++,n},e.prototype.set=function(e,t){var n=void 0===this.key?e:this.key(e)
-return this._set(n,t)},e.prototype._set=function(e,t){return this.limit>this.size&&(this.size++,void 0===t?this.store.set(e,Bt):this.store.set(e,t)),t},e.prototype.purge=function(){this.store.clear(),this.size=0,this.hits=0,this.misses=0},e}(),Yt=new Gt(1e3,function(e){return e.indexOf(".")}),Kt=function(){function e(){this.tags=new Set,this.last=null}return e.prototype.add=function(e){this.tags.add(e),this.last=e},e.prototype.combine=function(){var e
-return 0===this.tags.size?s.CONSTANT_TAG:1===this.tags.size?this.last:(e=[],this.tags.forEach(function(t){return e.push(t)}),s.combine(e))},r.createClass(e,[{key:"size",get:function(){return this.tags.size}}]),e}(),Qt=null,Zt=function(){};(function(e){function t(t,n,i){var o=r.possibleConstructorReturn(this,e.call(this,i))
-return o.target=t,o.key=n,o}r.inherits(t,e),t.for=function(e,n){return new t(e,n,"The property '"+n+"' on "+e+" was changed after being rendered. If you want to change a property used in a template after the component has rendered, mark the property as a tracked property with the @tracked decorator.")}})(Error)
-var Xt={object:!0,function:!0,string:!0},Jt=a.symbol("PROXY_CONTENT"),$t=/\.@each$/,en=function(e){function t(t,n){var i=r.possibleConstructorReturn(this,e.call(this)),o="function"==typeof t
-return o?i._getter=t:(i._getter=t.get||xe,i._setter=t.set),i._suspended=void 0,i._meta=void 0,i._volatile=!1,i._dependentKeys=n&&n.dependentKeys,i._readOnly=n&&o&&!0===n.readOnly,i}return r.inherits(t,e),t.prototype.volatile=function(){return this._volatile=!0,this},t.prototype.readOnly=function(){return this._readOnly=!0,this},t.prototype.property=function(){function e(e){n.push(e)}var t,n=[]
-for(t=0;t<arguments.length;t++)Ae(arguments[t],e)
-return this._dependentKeys=n,this},t.prototype.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},t.prototype.didChange=function(e,t){if(!this._volatile&&this._suspended!==e){var n=ue(e)
-if(void 0!==n&&n.source===e){var r=Se(e)
-void 0!==r&&r.delete(t)&&we(this,e,t,n)}}},t.prototype.get=function(e,t){if(this._volatile)return this._getter.call(e,t)
-var n=je(e)
-if(n.has(t))return n.get(t)
-var r=this._getter.call(e,t)
-n.set(t,r)
-var i=ce(e),o=i.readableChainWatchers()
-return void 0!==o&&o.revalidate(t),Ie(this,e,t,i),r},t.prototype.set=function(e,t,n){return this._readOnly&&this._throwReadOnlyError(e,t),this._setter?this._volatile?this.volatileSet(e,t,n):this.setWithSuspend(e,t,n):this.clobberSet(e,t,n)},t.prototype._throwReadOnlyError=function(e,t){throw new n.Error('Cannot set read-only property "'+t+'" on object: '+a.inspect(e))},t.prototype.clobberSet=function(e,t,n){return H(e,t,null,Ee(e,t)),be(e,t,n),n},t.prototype.volatileSet=function(e,t,n){return this._setter.call(e,t,n)},t.prototype.setWithSuspend=function(e,t,n){var r=this._suspended
-this._suspended=e
-try{return this._set(e,t,n)}finally{this._suspended=r}},t.prototype._set=function(e,t,n){var r=je(e),i=r.has(t),o=r.get(t),s=this._setter.call(e,t,n,o)
-if(i&&o===s)return s
-var a=ce(e)
-return i||Ie(this,e,t,a),r.set(t,s),P(e,t,a),s},t.prototype.teardown=function(e,t,n){if(!this._volatile){var r=Se(e)
-void 0!==r&&r.delete(t)&&we(this,e,t,n)}},t}(Rt),tn=ke.bind(null),nn=new WeakMap,rn={},on=function(e){function t(t){var n=r.possibleConstructorReturn(this,e.call(this))
-return n.altKey=t,n._dependentKeys=[t],n}return r.inherits(t,e),t.prototype.setup=function(e,t){var n=ce(e)
-n.peekWatching(t)&&Ie(this,e,t,n)},t.prototype.teardown=function(e,t,n){n.peekWatching(t)&&we(this,e,t,n)},t.prototype.willWatch=function(e,t,n){Ie(this,e,t,n)},t.prototype.didUnwatch=function(e,t,n){we(this,e,t,n)},t.prototype.get=function(e,t){var n,r=me(e,this.altKey),i=je(e)
-return i.get(t)!==rn&&(n=ce(e),i.set(t,rn),Ie(this,e,t,n)),r},t.prototype.set=function(e,t,n){return be(e,this.altKey,n)},t.prototype.readOnly=function(){return this.set=Te,this},t.prototype.oneWay=function(){return this.set=Pe,this},t}(Rt)
-on.prototype._meta=void 0,on.prototype.meta=en.prototype.meta
-var sn=[],an={},un=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow
-return t?t.bind(e):function(){return+new Date}}()
-e.flaggedInstrument=void 0,e.flaggedInstrument=function(e,t,n){return n()}
-var cn=function(){function e(){this._registry=[],this._coreLibIndex=0}return e.prototype._getLibraryByName=function(e){var t,n=this._registry,r=n.length
-for(t=0;t<r;t++)if(n[t].name===e)return n[t]},e.prototype.register=function(e,t,n){var r=this._registry.length
-this._getLibraryByName(e)||(n&&(r=this._coreLibIndex++),this._registry.splice(r,0,{name:e,version:t}))},e.prototype.registerCoreLibrary=function(e,t){this.register(e,t,!0)},e.prototype.deRegister=function(e){var t=this._getLibraryByName(e),n=void 0
-t&&(n=this._registry.indexOf(t),this._registry.splice(n,1))},e}(),ln=new cn
-ln.registerCoreLibrary("Ember",u)
-var hn=function(){function e(){this.clear()}return e.create=function(){return new this},e.prototype.clear=function(){this.presenceSet=Object.create(null),this.list=[],this.size=0},e.prototype.add=function(e,t){var n=t||a.guidFor(e),r=this.presenceSet,i=this.list
-return!0!==r[n]&&(r[n]=!0,this.size=i.push(e)),this},e.prototype.delete=function(e,t){var n,r=t||a.guidFor(e),i=this.presenceSet,o=this.list
-return!0===i[r]&&(delete i[r],n=o.indexOf(e),n>-1&&o.splice(n,1),this.size=o.length,!0)},e.prototype.isEmpty=function(){return 0===this.size},e.prototype.has=function(e){if(0===this.size)return!1
-var t=a.guidFor(e)
-return!0===this.presenceSet[t]},e.prototype.forEach=function(e){if(0!==this.size){var t,n,r=this.list
-if(2===arguments.length)for(t=0;t<r.length;t++)e.call(arguments[1],r[t])
-else for(n=0;n<r.length;n++)e(r[n])}},e.prototype.toArray=function(){return this.list.slice()},e.prototype.copy=function(){var e=this.constructor,t=new e
-return t.presenceSet=Fe(this.presenceSet),t.list=this.toArray(),t.size=this.size,t},e}(),dn=function(){function e(){this._keys=new hn,this._values=Object.create(null),this.size=0}return e.create=function(){return new this},e.prototype.get=function(e){if(0!==this.size){return this._values[a.guidFor(e)]}},e.prototype.set=function(e,t){var n=this._keys,r=this._values,i=a.guidFor(e),o=-0===e?0:e
-return n.add(o,i),r[i]=t,this.size=n.size,this},e.prototype.delete=function(e){if(0===this.size)return!1
-var t=this._keys,n=this._values,r=a.guidFor(e)
-return!!t.delete(e,r)&&(delete n[r],this.size=t.size,!0)},e.prototype.has=function(e){return this._keys.has(e)},e.prototype.forEach=function(e){if(0!==this.size){var t=this,n=void 0,r=void 0
-2===arguments.length?(r=arguments[1],n=function(n){return e.call(r,t.get(n),n,t)}):n=function(n){return e(t.get(n),n,t)},this._keys.forEach(n)}},e.prototype.clear=function(){this._keys.clear(),this._values=Object.create(null),this.size=0},e.prototype.copy=function(){return Be(this,new e)},e}(),pn=function(e){function t(t){var n=r.possibleConstructorReturn(this,e.call(this))
-return n.defaultValue=t.defaultValue,n}return r.inherits(t,e),t.create=function(e){return e?new t(e):new dn},t.prototype.get=function(t){var n,r=this.has(t)
-return r?e.prototype.get.call(this,t):(n=this.defaultValue(t),this.set(t,n),n)},t.prototype.copy=function(){return Be(this,new(0,this.constructor)({defaultValue:this.defaultValue}))},t}(dn),fn=Object.prototype.hasOwnProperty,gn=!1,mn={_set:0,_unprocessedNamespaces:!1,get unprocessedNamespaces(){return this._unprocessedNamespaces},set unprocessedNamespaces(e){this._set++,this._unprocessedNamespaces=e}},vn=!1,yn=[],bn=Object.create(null),Cn=Array.prototype.concat,An={},_n=function(){function e(e,t){this.properties=t,this.mixins=dt(e),this.ownerConstructor=void 0,this._without=void 0}return e._apply=function(){return ht.apply(void 0,arguments)},e.applyPartial=function(e){var t,n,r
-for(t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r]
-return ht(e,n,!0)},e.create=function(){Ke()
-var e,t,n,r=this
-for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-return new r(t,void 0)},e.mixins=function(e){var t=ue(e),n=[]
-return void 0===t?n:(t.forEachMixins(function(e){e.properties||n.push(e)}),n)},e.prototype.reopen=function(){var t,n,r,i
-for(t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r]
-if(0!==n.length)return this.properties?(i=new e(void 0,this.properties),this.properties=void 0,this.mixins=[i]):this.mixins||(this.mixins=[]),this.mixins=this.mixins.concat(dt(n)),this},e.prototype.apply=function(e){return ht(e,[this],!1)},e.prototype.applyPartial=function(e){return ht(e,[this],!0)},e.prototype.detect=function(t){if("object"!=typeof t||null===t)return!1
-if(t instanceof e)return pt(t,this)
-var n=ue(t)
-return void 0!==n&&n.hasMixin(this)},e.prototype.without=function(){var t,n,r,i=new e([this])
-for(t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r]
-return i._without=n,i},e.prototype.keys=function(){return ft(this)},e.prototype.toString=function(){return"(unknown mixin)"},e}()
-t.ENV._ENABLE_BINDING_SUPPORT&&(_n.finishPartial=null,_n.detectBinding=null),_n.prototype.toString=Ge
-var In=function(e){function t(t){var n=r.possibleConstructorReturn(this,e.call(this))
-return n.methodName=t,n}return r.inherits(t,e),t}(Rt),wn=function(e){function t(t,n,i){var o,s=r.possibleConstructorReturn(this,e.call(this,gt))
-return s.type=t,s.source=i?i.source:void 0,n?(o=n.indexOf("::"),-1===o?(s.name=n,s.namespace=void 0):(s.name=n.slice(o+2),s.namespace=n.slice(0,o))):s.name=void 0,s}return r.inherits(t,e),t}(en),xn=function(e){function t(t){var n=r.possibleConstructorReturn(this,e.call(this))
-return n.desc=t,n.enumerable=t.enumerable,n}return r.inherits(t,e),t.prototype.setup=function(e,t){Object.defineProperty(e,t,this.desc)},t.prototype.get=function(e,t){return e[t]},t.prototype.set=function(e,t,n){return e[t]=n},t.prototype.teardown=function(){},t}(Rt)
-e.computed=ke,e.getCacheFor=je,e.getCachedValueFor=Ee,e.peekCacheFor=Se,e.ComputedProperty=en,e._globalsComputed=tn,e.alias=function(e){return new on(e)},e.merge=function(e,t){if(null===t||"object"!=typeof t)return e
-var n,r=Object.keys(t),i=void 0
-for(n=0;n<r.length;n++)i=r[n],e[i]=t[i]
-return e},e.deprecateProperty=function(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,set:function(e){be(this,n,e)},get:function(){return me(this,n)}})},e.instrument=function(e,t,n,r){if(arguments.length<=3&&"function"==typeof t&&(r=n,n=t,t=void 0),0===sn.length)return n.call(r)
-var i=t||{},o=Me(e,function(){return i})
-return o?Re(n,o,i,r):n.call(r)},e._instrumentStart=Me,e.instrumentationReset=function(){sn.length=0,an={}},e.instrumentationSubscribe=function(e,t){var n,r=e.split("."),i=void 0,o=[]
-for(n=0;n<r.length;n++)i=r[n],"*"===i?o.push("[^\\.]*"):o.push(i)
-o=o.join("\\."),o+="(\\..*)?"
-var s={pattern:e,regex:new RegExp("^"+o+"$"),object:t}
-return sn.push(s),an={},s},e.instrumentationUnsubscribe=function(e){var t,n=void 0
-for(t=0;t<sn.length;t++)sn[t]===e&&(n=t)
-sn.splice(n,1),an={}},e.getOnerror=p,e.setOnerror=function(e){vt=e},e.setDispatchOverride=function(e){bt=e},e.getDispatchOverride=f,e.descriptorFor=le,e.meta=ce,e.peekMeta=ue,e.deleteMeta=function(e){var t=ue(e)
-void 0!==t&&t.destroy()},e.Cache=Gt,e.PROXY_CONTENT=Jt,e._getPath=ve,e.get=me,e.getWithDefault=function(e,t,n){var r=me(e,t)
-return void 0===r?n:r},e.set=be,e.trySet=function(e,t,n){return be(e,t,n,!0)},e.objectAt=V
-e.replace=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Nt
-Array.isArray(e)?W(e,t,n,r):e.replace(t,n,r)},e.replaceInNativeArray=W,e.addArrayObserver=function(e,t,n){return G(e,t,n,l,!1)},e.removeArrayObserver=function(e,t,n){return G(e,t,n,h,!0)},e.arrayContentWillChange=Y,e.arrayContentDidChange=K,e.eachProxyFor=Q,e.eachProxyArrayWillChange=Z,e.eachProxyArrayDidChange=X,e.addListener=l,e.hasListeners=function(e,t){var n=ue(e)
-if(void 0===n)return!1
-var r=n.matchingListeners(t)
-return void 0!==r&&r.length>0},e.on=function(){for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-var e,t,n,r=t.pop()
-return r.__ember_listens__=t,r},e.removeListener=h,e.sendEvent=d,e.isNone=Le,e.isEmpty=De,e.isBlank=ze,e.isPresent=function(e){return!ze(e)},e.getCurrentRunLoop=g,e.backburner=It,e.run=m,e.join=v,e.bind=function(){var e,t,n
-for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-return function(){var e,n,r
-for(e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r]
-return v.apply(void 0,t.concat(n))}},e.begin=function(){It.begin()},e.end=function(){It.end()},e.schedule=function(){return It.schedule.apply(It,arguments)},e.hasScheduledTimers=function(){return It.hasTimers()},e.cancelTimers=function(){It.cancelTimers()},e.later=function(){return It.later.apply(It,arguments)},e.once=function(){var e,t,n
-for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-return t.unshift("actions"),It.scheduleOnce.apply(It,t)}
-e.scheduleOnce=function(){return It.scheduleOnce.apply(It,arguments)},e.next=function(){var e,t,n
-for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-return t.push(1),It.later.apply(It,t)},e.cancel=function(e){return It.cancel(e)},e.debounce=function(){return It.debounce.apply(It,arguments)},e.throttle=function(){return It.throttle.apply(It,arguments)},e._globalsRun=wt,e.beginPropertyChanges=L,e.changeProperties=z,e.endPropertyChanges=D,e.notifyPropertyChange=P,e.overrideChains=M,e.propertyDidChange=function(e,t,n){P(e,t,n)},e.propertyWillChange=function(){},e.PROPERTY_DID_CHANGE=Et,e.defineProperty=H,e.Descriptor=Rt,e.watchKey=U,e.unwatchKey=q,e.ChainNode=Ft,e.finishChains=function(e){var t=e.readableChainWatchers()
-void 0!==t&&t.revalidateAll(),void 0!==e.readableChains()&&e.writableChains(re)},e.removeChainWatcher=oe,e.watchPath=I,e.unwatchPath=w,e.isWatching=function(e,t){return k(e,t)>0},e.unwatch=j,e.watch=x,e.watcherCount=k,e.libraries=ln,e.Libraries=cn,e.Map=dn
-e.MapWithDefault=pn,e.OrderedSet=hn,e.getProperties=function(e){var t={},n=arguments,r=1
-for(2===arguments.length&&Array.isArray(arguments[1])&&(r=0,n=arguments[1]);r<n.length;r++)t[n[r]]=me(e,n[r])
-return t},e.setProperties=function(e,t){return null===t||"object"!=typeof t?t:(z(function(){var n,r=Object.keys(t),i=void 0
-for(n=0;n<r.length;n++)i=r[n],be(e,i,t[i])}),t)},e.expandProperties=Ae,e.addObserver=S,e.removeObserver=T,e.Mixin=_n,e.aliasMethod=function(e){return new In(e)},e.mixin=function(e){var t,n,r
-for(t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r]
-return ht(e,n,!1),e},e.observer=function(){for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-var e,t,n,r,i=t.pop(),o=t,s=[],a=function(e){return s.push(e)}
-for(r=0;r<o.length;++r)Ae(o[r],a)
-return i.__ember_observes__=s,i},e.InjectedProperty=wn,e.setHasViews=function(e){xt=e},e.tagForProperty=b,e.tagFor=C,e.markObjectAsDirty=A,e.didRender=void 0,e.assertNotRendered=void 0,e.descriptor=function(e){return new xn(e)},e.tracked=pe,e.NAMESPACES=yn,e.NAMESPACES_BY_ID=bn,e.addNamespace=function(e){mn.unprocessedNamespaces=!0,yn.push(e)},e.classToString=Ge,e.findNamespace=qe,e.findNamespaces=Ue,e.processNamespace=Ve,e.processAllNamespaces=We,e.removeNamespace=He,e.isNamespaceSearchDisabled=Ye
-e.setNamespaceSearchDisabled=function(e){gn=!!e},Object.defineProperty(e,"__esModule",{value:!0})}),e("ember-routing/index",["exports","ember-routing/lib/location/api","ember-routing/lib/location/none_location","ember-routing/lib/location/hash_location","ember-routing/lib/location/history_location","ember-routing/lib/location/auto_location","ember-routing/lib/system/generate_controller","ember-routing/lib/system/controller_for","ember-routing/lib/system/dsl","ember-routing/lib/system/router","ember-routing/lib/system/route","ember-routing/lib/system/query_params","ember-routing/lib/services/routing","ember-routing/lib/services/router","ember-routing/lib/system/cache","ember-routing/lib/ext/controller"],function(e,t,n,r,i,o,s,a,u,c,l,h,d,p,f){"use strict"
-e.BucketCache=e.RouterService=e.RoutingService=e.QueryParams=e.Route=e.Router=e.RouterDSL=e.controllerFor=e.generateControllerFactory=e.generateController=e.AutoLocation=e.HistoryLocation=e.HashLocation=e.NoneLocation=e.Location=void 0,Object.defineProperty(e,"Location",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"NoneLocation",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"HashLocation",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"HistoryLocation",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"AutoLocation",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"generateController",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"generateControllerFactory",{enumerable:!0,get:function(){return s.generateControllerFactory}}),Object.defineProperty(e,"controllerFor",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"RouterDSL",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"Router",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"Route",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"QueryParams",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(e,"RoutingService",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"RouterService",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"BucketCache",{enumerable:!0,get:function(){return f.default}})}),e("ember-routing/lib/ext/controller",["exports","ember-metal","ember-runtime","ember-routing/lib/utils"],function(e,t,n,r){"use strict"
-n.ControllerMixin.reopen({concatenatedProperties:["queryParams"],queryParams:null,_qpDelegate:null,_qpChanged:function(e,n){var r=n.substr(0,n.length-3);(0,e._qpDelegate)(r,(0,t.get)(e,r))},transitionToRoute:function(){var e,n,i,o=(0,t.get)(this,"target"),s=o.transitionToRoute||o.transitionTo
-for(e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i]
-return s.apply(o,(0,r.prefixRouteNameArg)(this,n))},replaceRoute:function(){var e,n,i,o=(0,t.get)(this,"target"),s=o.replaceRoute||o.replaceWith
-for(e=arguments.length,n=Array(e),i=0;i<e;i++)n[i]=arguments[i]
-return s.apply(o,(0,r.prefixRouteNameArg)(this,n))}}),e.default=n.ControllerMixin}),e("ember-routing/lib/location/api",["exports","ember-debug","ember-environment","ember-routing/lib/location/util"],function(e,t,n,r){"use strict"
-e.default={create:function(e){var t=e&&e.implementation,n=this.implementations[t]
-return n.create.apply(n,arguments)},implementations:{},_location:n.environment.location,_getHash:function(){return(0,r.getHash)(this.location)}}}),e("ember-routing/lib/location/auto_location",["exports","ember-utils","ember-metal","ember-debug","ember-runtime","ember-environment","ember-routing/lib/location/util"],function(e,t,n,r,i,o,s){"use strict"
-function a(e){return function(){var r,i,o,s=(0,n.get)(this,"concreteImplementation")
-for(r=arguments.length,i=Array(r),o=0;o<r;o++)i[o]=arguments[o]
-return(0,t.tryInvoke)(s,e,i)}}function u(e){var t,n,r=e.location,i=e.userAgent,o=e.history,a=e.documentMode,u=e.global,h=e.rootURL,d="none",p=!1,f=(0,s.getFullPath)(r)
-return(0,s.supportsHistory)(i,o)?(t=c(h,r),f===t?d="history":"/#"===f.substr(0,2)?(o.replaceState({path:t},null,t),d="history"):(p=!0,(0,s.replacePath)(r,t))):(0,s.supportsHashChange)(a,u)&&(n=l(h,r),f===n||"/"===f&&"/#/"===n?d="hash":(p=!0,(0,s.replacePath)(r,n))),!p&&d}function c(e,t){var n=(0,s.getPath)(t),r=(0,s.getHash)(t),i=(0,s.getQuery)(t),o=(n.indexOf(e),void 0),a=void 0
-return"#/"===r.substr(0,2)?(a=r.substr(1).split("#"),o=a.shift(),"/"===n.charAt(n.length-1)&&(o=o.substr(1)),n+=o+i,a.length&&(n+="#"+a.join("#"))):n+=i+r,n}function l(e,t){var n=e,r=c(e,t),i=r.substr(e.length)
-return""!==i&&("/"!==i[0]&&(i="/"+i),n+="#"+i),n}e.getHistoryPath=c,e.getHashPath=l,e.default=i.Object.extend({location:o.environment.location,history:o.environment.history,global:o.environment.window,userAgent:o.environment.userAgent,cancelRouterSetup:!1,rootURL:"/",detect:function(){var e=this.rootURL,r=u({location:this.location,history:this.history,userAgent:this.userAgent,rootURL:e,documentMode:this.documentMode,global:this.global})
-!1===r&&((0,n.set)(this,"cancelRouterSetup",!0),r="none")
-var i=(0,t.getOwner)(this).lookup("location:"+r);(0,n.set)(i,"rootURL",e),(0,n.set)(this,"concreteImplementation",i)},initState:a("initState"),getURL:a("getURL"),setURL:a("setURL"),replaceURL:a("replaceURL"),onUpdateURL:a("onUpdateURL"),formatURL:a("formatURL"),willDestroy:function(){var e=(0,n.get)(this,"concreteImplementation")
-e&&e.destroy()}})}),e("ember-routing/lib/location/hash_location",["exports","ember-metal","ember-runtime","ember-routing/lib/location/api"],function(e,t,n,r){"use strict"
-e.default=n.Object.extend({implementation:"hash",init:function(){(0,t.set)(this,"location",(0,t.get)(this,"_location")||window.location),this._hashchangeHandler=void 0},getHash:r.default._getHash,getURL:function(){var e=this.getHash().substr(1),t=e
-return"/"!==t[0]&&(t="/",e&&(t+="#"+e)),t},setURL:function(e){(0,t.get)(this,"location").hash=e,(0,t.set)(this,"lastSetURL",e)},replaceURL:function(e){(0,t.get)(this,"location").replace("#"+e),(0,t.set)(this,"lastSetURL",e)},onUpdateURL:function(e){this._removeEventListener(),this._hashchangeHandler=(0,t.bind)(this,function(){var n=this.getURL();(0,t.get)(this,"lastSetURL")!==n&&((0,t.set)(this,"lastSetURL",null),e(n))}),window.addEventListener("hashchange",this._hashchangeHandler)},formatURL:function(e){return"#"+e},willDestroy:function(){this._removeEventListener()},_removeEventListener:function(){this._hashchangeHandler&&window.removeEventListener("hashchange",this._hashchangeHandler)}})}),e("ember-routing/lib/location/history_location",["exports","ember-metal","ember-runtime","ember-routing/lib/location/api"],function(e,t,n,r){"use strict"
-function i(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t,n
-return t=16*Math.random()|0,n="x"===e?t:3&t|8,n.toString(16)})}var o=!1
-e.default=n.Object.extend({implementation:"history",init:function(){this._super.apply(this,arguments)
-var e=document.querySelector("base"),n=""
-e&&(n=e.getAttribute("href")),(0,t.set)(this,"baseURL",n),(0,t.set)(this,"location",(0,t.get)(this,"location")||window.location),this._popstateHandler=void 0},initState:function(){var e=(0,t.get)(this,"history")||window.history;(0,t.set)(this,"history",e),e&&"state"in e&&(this.supportsHistory=!0)
-var n=this.getState(),r=this.formatURL(this.getURL())
-n&&n.path===r?this._previousURL=this.getURL():this.replaceState(r)},rootURL:"/",getURL:function(){var e=(0,t.get)(this,"location"),n=e.pathname,r=(0,t.get)(this,"rootURL"),i=(0,t.get)(this,"baseURL")
-r=r.replace(/\/$/,""),i=i.replace(/\/$/,"")
-var o=n.replace(new RegExp("^"+i+"(?=/|$)"),"").replace(new RegExp("^"+r+"(?=/|$)"),"").replace(/\/\/$/g,"/")
-return o+=(e.search||"")+this.getHash()},setURL:function(e){var t=this.getState()
-e=this.formatURL(e),t&&t.path===e||this.pushState(e)},replaceURL:function(e){var t=this.getState()
-e=this.formatURL(e),t&&t.path===e||this.replaceState(e)},getState:function(){return this.supportsHistory?(0,t.get)(this,"history").state:this._historyState},pushState:function(e){var n={path:e,uuid:i()};(0,t.get)(this,"history").pushState(n,null,e),this._historyState=n,this._previousURL=this.getURL()},replaceState:function(e){var n={path:e,uuid:i()};(0,t.get)(this,"history").replaceState(n,null,e),this._historyState=n,this._previousURL=this.getURL()},onUpdateURL:function(e){var t=this
-this._removeEventListener(),this._popstateHandler=function(){(o||(o=!0,t.getURL()!==t._previousURL))&&e(t.getURL())},window.addEventListener("popstate",this._popstateHandler)},formatURL:function(e){var n=(0,t.get)(this,"rootURL"),r=(0,t.get)(this,"baseURL")
-return""!==e?(n=n.replace(/\/$/,""),r=r.replace(/\/$/,"")):"/"===r[0]&&"/"===n[0]&&(r=r.replace(/\/$/,"")),r+n+e},willDestroy:function(){this._removeEventListener()},getHash:r.default._getHash,_removeEventListener:function(){this._popstateHandler&&window.removeEventListener("popstate",this._popstateHandler)}})}),e("ember-routing/lib/location/none_location",["exports","ember-metal","ember-debug","ember-runtime"],function(e,t,n,r){"use strict"
-e.default=r.Object.extend({implementation:"none",path:"",detect:function(){this.rootURL},rootURL:"/",getURL:function(){var e=(0,t.get)(this,"path"),n=(0,t.get)(this,"rootURL")
-return n=n.replace(/\/$/,""),e.replace(new RegExp("^"+n+"(?=/|$)"),"")},setURL:function(e){(0,t.set)(this,"path",e)},onUpdateURL:function(e){this.updateCallback=e},handleURL:function(e){(0,t.set)(this,"path",e),this.updateCallback(e)},formatURL:function(e){var n=(0,t.get)(this,"rootURL")
-return""!==e&&(n=n.replace(/\/$/,"")),n+e}})}),e("ember-routing/lib/location/util",["exports"],function(e){"use strict"
-function t(e){var t=e.pathname
-return"/"!==t[0]&&(t="/"+t),t}function n(e){return e.search}function r(e){var t=e.href,n=t.indexOf("#")
-return-1===n?"":t.substr(n)}function i(e){var t=e.origin
-return t||(t=e.protocol+"//"+e.hostname,e.port&&(t+=":"+e.port)),t}function o(e,t){return"onhashchange"in t&&(void 0===e||e>7)}function s(e,t){return(-1===e.indexOf("Android 2.")&&-1===e.indexOf("Android 4.0")||-1===e.indexOf("Mobile Safari")||-1!==e.indexOf("Chrome")||-1!==e.indexOf("Windows Phone"))&&!!(t&&"pushState"in t)}e.getPath=t,e.getQuery=n,e.getHash=r,e.getFullPath=function(e){return t(e)+n(e)+r(e)},e.getOrigin=i,e.supportsHashChange=o,e.supportsHistory=s,e.replacePath=function(e,t){e.replace(i(e)+t)}}),e("ember-routing/lib/services/router",["exports","ember-runtime","ember-routing/lib/utils"],function(e,t,n){"use strict"
-var r=t.Service.extend({currentRouteName:(0,t.readOnly)("_router.currentRouteName"),currentURL:(0,t.readOnly)("_router.currentURL"),location:(0,t.readOnly)("_router.location"),rootURL:(0,t.readOnly)("_router.rootURL"),_router:null,transitionTo:function(){for(e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r]
-if((0,n.resemblesURL)(t[0]))return this._router._doURLTransition("transitionTo",t[0])
-var e,t,r,i=(0,n.extractRouteArgs)(t),o=i.routeName,s=i.models,a=i.queryParams,u=this._router._doTransition(o,s,a,!0)
-return u._keepDefaultQueryParamValues=!0,u},replaceWith:function(){return this.transitionTo.apply(this,arguments).method("replace")},urlFor:function(){var e
-return(e=this._router).generate.apply(e,arguments)},isActive:function(){for(e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r]
-var e,t,r,i=(0,n.extractRouteArgs)(t),o=i.routeName,s=i.models,a=i.queryParams,u=this._router._routerMicrolib
-return!!u.isActiveIntent(o,s,null)&&(!(Object.keys(a).length>0)||(this._router._prepareQueryParams(o,s,a,!0),(0,n.shallowEqual)(a,u.state.queryParams)))}})
-e.default=r}),e("ember-routing/lib/services/routing",["exports","ember-utils","ember-runtime","ember-metal"],function(e,t,n,r){"use strict"
-function i(e,t){var n,r=0
-for(n=0;n<t.length&&(r+=t[n].names.length,t[n].handler!==e);n++);return r}e.default=n.Service.extend({router:null,targetState:(0,n.readOnly)("router.targetState"),currentState:(0,n.readOnly)("router.currentState"),currentRouteName:(0,n.readOnly)("router.currentRouteName"),currentPath:(0,n.readOnly)("router.currentPath"),hasRoute:function(e){return(0,r.get)(this,"router").hasRoute(e)},transitionTo:function(e,t,n,i){var o=(0,r.get)(this,"router"),s=o._doTransition(e,t,n)
-return i&&s.method("replace"),s},normalizeQueryParams:function(e,t,n){(0,r.get)(this,"router")._prepareQueryParams(e,t,n)},generateURL:function(e,n,i){var o=(0,r.get)(this,"router")
-if(o._routerMicrolib){var s={}
-return i&&((0,t.assign)(s,i),this.normalizeQueryParams(e,n,s)),o.generate.apply(o,[e].concat(n,[{queryParams:s}]))}},isActiveForRoute:function(e,t,n,o,s){var a=(0,r.get)(this,"router"),u=a._routerMicrolib.recognizer.handlersFor(n),c=u[u.length-1].handler,l=i(n,u)
-return e.length>l&&(n=c),o.isActiveIntent(n,e,t,!s)}})}),e("ember-routing/lib/system/cache",["exports"],function(e){"use strict"
-var t=function(){function e(){this.cache=new Map}return e.prototype.has=function(e){return this.cache.has(e)},e.prototype.stash=function(e,t,n){var r=this.cache.get(e)
-void 0===r&&(r=new Map,this.cache.set(e,r)),r.set(t,n)},e.prototype.lookup=function(e,t,n){if(!this.has(e))return n
-var r=this.cache.get(e)
-return r.has(t)?r.get(t):n},e}()
-e.default=t}),e("ember-routing/lib/system/controller_for",["exports"],function(e){"use strict"
-e.default=function(e,t,n){return e.lookup("controller:"+t,n)}}),e("ember-routing/lib/system/dsl",["exports","ember-utils","ember-debug"],function(e,t,n){"use strict"
-function r(e){return"application"!==e.parent}function i(e,t,n){return r(e)&&!0!==n?e.parent+"."+t:t}function o(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments[3],o=i(e,t,n.resetNamespace)
-"string"!=typeof n.path&&(n.path="/"+t),e.push(n.path,o,r,n.serialize)}var s=0,a=function(){function e(e,t){this.parent=e,this.enableLoadingSubstates=t&&t.enableLoadingSubstates,this.matches=[],this.explicitIndex=void 0,this.options=t}return e.prototype.route=function(t){var n,r,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments[2],u="/_unused_dummy_error_path_route_"+t+"/:error"
-2===arguments.length&&"function"==typeof s&&(a=s,s={}),this.enableLoadingSubstates&&(o(this,t+"_loading",{resetNamespace:s.resetNamespace}),o(this,t+"_error",{resetNamespace:s.resetNamespace,path:u})),a?(n=i(this,t,s.resetNamespace),r=new e(n,this.options),o(r,"loading"),o(r,"error",{path:u}),a.call(r),o(this,t,s,r.generate())):o(this,t,s)},e.prototype.push=function(e,n,r,i){var o,s,a=n.split(".")
-if(this.options.engineInfo)o=n.slice(this.options.engineInfo.fullName.length+1),s=(0,t.assign)({localFullName:o},this.options.engineInfo),i&&(s.serializeMethod=i),this.options.addRouteForEngine(n,s)
-else if(i)throw new Error("Defining a route serializer on route '"+n+"' outside an Engine is not allowed.")
-""!==e&&"/"!==e&&"index"!==a[a.length-1]||(this.explicitIndex=!0),this.matches.push(e,n,r)},e.prototype.generate=function(){var e=this.matches
-return this.explicitIndex||this.route("index",{path:"/"}),function(t){var n
-for(n=0;n<e.length;n+=3)t(e[n]).to(e[n+1],e[n+2])}},e.prototype.mount=function(n){var r,a,u,c,l,h,d,p=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=this.options.resolveRouteMap(n),g=n
-p.as&&(g=p.as)
-var m=i(this,g,p.resetNamespace),v={name:n,instanceId:s++,mountPoint:m,fullName:m},y=p.path
-"string"!=typeof y&&(y="/"+g)
-var b=void 0,C="/_unused_dummy_error_path_route_"+g+"/:error"
-f&&(r=!1,a=this.options.engineInfo,a&&(r=!0,this.options.engineInfo=v),u=(0,t.assign)({engineInfo:v},this.options),c=new e(m,u),o(c,"loading"),o(c,"error",{path:C}),f.class.call(c),b=c.generate(),r&&(this.options.engineInfo=a))
-var A=(0,t.assign)({localFullName:"application"},v)
-this.enableLoadingSubstates&&(l=g+"_loading",h="application_loading",d=(0,t.assign)({localFullName:h},v),o(this,l,{resetNamespace:p.resetNamespace}),this.options.addRouteForEngine(l,d),l=g+"_error",h="application_error",d=(0,t.assign)({localFullName:h},v),o(this,l,{resetNamespace:p.resetNamespace,path:C}),this.options.addRouteForEngine(l,d)),this.options.addRouteForEngine(m,A),this.push(y,m,b)},e}()
-e.default=a,a.map=function(e){var t=new a
-return e.call(t),t}}),e("ember-routing/lib/system/generate_controller",["exports","ember-metal","ember-debug"],function(e){"use strict"
-function t(e,t){var n=e.factoryFor("controller:basic").class
-return n=n.extend({toString:function(){return"(generated "+t+" controller)"}}),e.register("controller:"+t,n),n}e.generateControllerFactory=t,e.default=function(e,n){return t(e,n),e.lookup("controller:"+n)}}),e("ember-routing/lib/system/query_params",["exports"],function(e){"use strict"
-e.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null
-this.values=e,this.isQueryParams=!0}}),e("ember-routing/lib/system/route",["exports","ember-utils","ember-metal","ember-debug","ember-runtime","ember-routing/lib/system/generate_controller","ember-routing/lib/utils"],function(e,t,n,r,i,o,s){"use strict"
-function a(){return this}function u(e,t){if(!(t.length<1)&&e){var r,i={}
-return 1===t.length?(r=t[0],r in e?i[r]=(0,n.get)(e,r):/_id$/.test(r)&&(i[r]=(0,n.get)(e,"id"))):i=(0,n.getProperties)(e,t),i}}function c(e){var t=l(e,e._router._routerMicrolib.state.handlerInfos,-1)
-return t&&t.handler}function l(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0
-if(t){for(n=0;n<t.length;n++)if(t[n].handler===e)return t[n+r]}}function h(e,n,r,i){var o,s=(0,t.getOwner)(e),a=void 0,u=void 0,l=void 0,h=void 0,d=void 0,p=void 0
-i&&(l=i.into&&i.into.replace(/\//g,"."),h=i.outlet,d=i.controller,p=i.model),h=h||"main",n?(a=e.routeName,u=e.templateName||a):(a=r.replace(/\//g,"."),u=a),d||(d=n?e.controllerName||s.lookup("controller:"+a):s.lookup("controller:"+a)||e.controllerName||e.routeName),"string"==typeof d&&(o=d,d=s.lookup("controller:"+o)),p&&d.set("model",p)
-var f=s.lookup("template:"+u),g=void 0
-return l&&(g=c(e))&&l===g.routeName&&(l=void 0),{owner:s,into:l,outlet:h,name:a,controller:d,template:f||e._topLevelViewTemplate}}function d(e,n){return n.fullQueryParams?n.fullQueryParams:(n.fullQueryParams={},(0,t.assign)(n.fullQueryParams,n.queryParams),e._deserializeQueryParams(n.handlerInfos,n.fullQueryParams),n.fullQueryParams)}function p(e,t){t.queryParamsFor=t.queryParamsFor||{}
-var r,i,o,s=e.fullRouteName
-if(t.queryParamsFor[s])return t.queryParamsFor[s]
-var a=d(e._router,t),u=t.queryParamsFor[s]={},c=(0,n.get)(e,"_qp"),l=c.qps
-for(r=0;r<l.length;++r)i=l[r],o=i.prop in a,u[i.prop]=o?a[i.prop]:f(i.defaultValue)
-return u}function f(e){return Array.isArray(e)?(0,i.A)(e.slice()):e}function g(e,n){var r,i,o={},s={defaultValue:!0,type:!0,scope:!0,as:!0}
-for(var a in e)e.hasOwnProperty(a)&&(r={},(0,t.assign)(r,e[a],n[a]),o[a]=r,s[a]=!0)
-for(var u in n)n.hasOwnProperty(u)&&!s[u]&&(i={},(0,t.assign)(i,n[u],e[u]),o[u]=i)
-return o}function m(e,t){t.forEach(function(t){e.addObserver(t+".[]",e,e._qpChanged)})}function v(e,t){var n
-return e.routable?(n=e.mountPoint,"application"===t?n:n+"."+t):t}e.defaultSerialize=u,e.hasDefaultSerialize=function(e){return e.serialize===u}
-var y=i.Object.extend(i.ActionHandler,i.Evented,{queryParams:{},router:(0,n.computed)("_router",function(){return this._router}),_setRouteName:function(e){this.routeName=e,this.fullRouteName=v((0,t.getOwner)(this),e)},_qp:(0,n.computed)(function(){var e,r,a,u,c,l,h,d,p,f,m,v=this,y=void 0,b=this.controllerName||this.routeName,C=(0,t.getOwner)(this),A=C.lookup("controller:"+b),_=(0,n.get)(this,"queryParams"),I=Object.keys(_).length>0
-A?(e=(0,n.get)(A,"queryParams")||{},r=(0,s.normalizeControllerQueryParams)(e),y=g(r,_)):I&&(A=(0,o.default)(C,b),y=_)
-var w=[],x={},k=[]
-for(var j in y)y.hasOwnProperty(j)&&"unknownProperty"!==j&&"_super"!==j&&(a=y[j],u=a.scope||"model",c=void 0,"controller"===u&&(c=[]),l=a.as||this.serializeQueryParamKey(j),h=(0,n.get)(A,j),Array.isArray(h)&&(h=(0,i.A)(h.slice())),d=a.type||(0,i.typeOf)(h),p=this.serializeQueryParam(h,l,d),f=b+":"+j,m={undecoratedDefaultValue:(0,n.get)(A,j),defaultValue:h,serializedDefaultValue:p,serializedValue:p,type:d,urlKey:l,prop:j,scopedPropertyName:f,controllerName:b,route:this,parts:c,values:null,scope:u},x[j]=x[l]=x[f]=m,w.push(m),k.push(j))
-return{qps:w,map:x,propertyNames:k,states:{inactive:function(e,t){var n=x[e]
-v._qpChanged(e,t,n)},active:function(e,t){var n=x[e]
-return v._qpChanged(e,t,n),v._activeQPChanged(n,t)},allowOverrides:function(e,t){var n=x[e]
-return v._qpChanged(e,t,n),v._updatingQPChanged(n)}}}}),_names:null,_stashNames:function(e,t){if(!this._names){var r,i,o,s=this._names=e._names
-s.length||(e=t,s=e&&e._names||[])
-var a=(0,n.get)(this,"_qp.qps"),u=new Array(s.length)
-for(r=0;r<s.length;++r)u[r]=e.name+"."+s[r]
-for(i=0;i<a.length;++i)o=a[i],"model"===o.scope&&(o.parts=u)}},_activeQPChanged:function(e,t){this._router._activeQPChanged(e.scopedPropertyName,t)},_updatingQPChanged:function(e){this._router._updatingQPChanged(e.urlKey)},mergedProperties:["queryParams"],paramsFor:function(e){var n=(0,t.getOwner)(this).lookup("route:"+e)
-if(!n)return{}
-var r=this._router._routerMicrolib.activeTransition,i=r?r.state:this._router._routerMicrolib.state,o=n.fullRouteName,s=(0,t.assign)({},i.params[o]),a=p(n,i)
-return Object.keys(a).reduce(function(e,t){return e[t]=a[t],e},s)},serializeQueryParamKey:function(e){return e},serializeQueryParam:function(e,t,n){return this._router._serializeQueryParam(e,n)},deserializeQueryParam:function(e,t,n){return this._router._deserializeQueryParam(e,n)},_optionsForQueryParam:function(e){return(0,n.get)(this,"queryParams."+e.urlKey)||(0,n.get)(this,"queryParams."+e.prop)||{}},resetController:a,exit:function(){this.deactivate(),this.trigger("deactivate"),this.teardownViews()},_reset:function(e,t){var r=this.controller
-r._qpDelegate=(0,n.get)(this,"_qp.states.inactive"),this.resetController(r,e,t)},enter:function(){this.connections=[],this.activate(),this.trigger("activate")},templateName:null,controllerName:null,actions:{queryParamsDidChange:function(e,t,r){var i,o,s=(0,n.get)(this,"_qp").map,a=Object.keys(e).concat(Object.keys(r))
-for(i=0;i<a.length;++i)if((o=s[a[i]])&&(0,n.get)(this._optionsForQueryParam(o),"refreshModel")&&this._router.currentState){this.refresh()
-break}return!0},finalizeQueryParamChange:function(e,t,r){if("application"!==this.fullRouteName)return!0
-if(r){var i,o,a,u,c,l,h,d,p,g,m=r.state.handlerInfos,v=this._router,y=v._queryParamsFor(m),b=v._qpUpdates,C=void 0
-for((0,s.stashParamNames)(v,m),i=0;i<y.qps.length;++i)o=y.qps[i],a=o.route,u=a.controller,c=o.urlKey in e&&o.urlKey,l=void 0,h=void 0,b&&o.urlKey in b?(l=(0,n.get)(u,o.prop),h=a.serializeQueryParam(l,o.urlKey,o.type)):c?void 0!==(h=e[c])&&(l=a.deserializeQueryParam(h,o.urlKey,o.type)):(h=o.serializedDefaultValue,l=f(o.defaultValue)),u._qpDelegate=(0,n.get)(a,"_qp.states.inactive"),d=h!==o.serializedValue,d&&(r.queryParamsOnly&&!1!==C&&(p=a._optionsForQueryParam(o),g=(0,n.get)(p,"replace"),g?C=!0:!1===g&&(C=!1)),(0,n.set)(u,o.prop,l)),o.serializedValue=h,o.serializedDefaultValue===h&&!r._keepDefaultQueryParamValues||t.push({value:h,visible:!0,key:c||o.urlKey})
-C&&r.method("replace"),y.qps.forEach(function(e){var t=(0,n.get)(e.route,"_qp")
-e.route.controller._qpDelegate=(0,n.get)(t,"states.active")}),v._qpUpdates=null}}},deactivate:a,activate:a,transitionTo:function(){var e
-return(e=this._router).transitionTo.apply(e,(0,s.prefixRouteNameArg)(this,arguments))},intermediateTransitionTo:function(){var e;(e=this._router).intermediateTransitionTo.apply(e,(0,s.prefixRouteNameArg)(this,arguments))},refresh:function(){return this._router._routerMicrolib.refresh(this)},replaceWith:function(){var e
-return(e=this._router).replaceWith.apply(e,(0,s.prefixRouteNameArg)(this,arguments))},send:function(){var e,t,n,i,o,s
-for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-if(this._router&&this._router._routerMicrolib||!(0,r.isTesting)())(i=this._router).send.apply(i,t)
-else if(o=t.shift(),s=this.actions[o])return s.apply(this,t)},setup:function(e,t){var r,i,o,a,u,c=void 0,l=this.controllerName||this.routeName,h=this.controllerFor(l,!0)
-c=h||this.generateController(l),this.controller||(r=(0,n.get)(this,"_qp.propertyNames"),m(c,r),this.controller=c)
-var d=(0,n.get)(this,"_qp"),f=d.states
-c._qpDelegate=f.allowOverrides,t&&((0,s.stashParamNames)(this._router,t.state.handlerInfos),i=this._bucketCache,o=t.params,a=d.propertyNames,a.forEach(function(e){var t=d.map[e]
-t.values=o
-var r=(0,s.calculateCacheKey)(t.route.fullRouteName,t.parts,t.values),a=i.lookup(r,e,t.undecoratedDefaultValue);(0,n.set)(c,e,a)}),u=p(this,t.state),(0,n.setProperties)(c,u)),this.setupController(c,e,t),this._environment.options.shouldRender&&this.renderTemplate(c,e)},_qpChanged:function(e,t,n){if(n){var r=this._bucketCache,i=(0,s.calculateCacheKey)(n.route.fullRouteName,n.parts,n.values)
-r.stash(i,e,t)}},beforeModel:a,afterModel:a,redirect:a,contextDidChange:function(){this.currentModel=this.context},model:function(e,t){var r,o=void 0,s=void 0,a=void 0,u=(0,n.get)(this,"_qp.map")
-for(var c in e)"queryParams"===c||u&&c in u||(r=c.match(/^(.*)_id$/),null!==r&&(o=r[1],a=e[c]),s=!0)
-if(!o){if(s)return(0,i.copy)(e)
-if(t.resolveIndex<1)return
-return t.state.handlerInfos[t.resolveIndex-1].context}return this.findModel(o,a)},deserialize:function(e,t){return this.model(this.paramsFor(this.routeName),t)},findModel:function(){var e
-return(e=(0,n.get)(this,"store")).find.apply(e,arguments)},store:(0,n.computed)(function(){var e=(0,t.getOwner)(this)
-this.routeName,(0,n.get)(this,"_router.namespace")
-return{find:function(t,n){var r=e.factoryFor("model:"+t)
-if(r)return r=r.class,r.find(n)}}}),serialize:u,setupController:function(e,t){e&&void 0!==t&&(0,n.set)(e,"model",t)},controllerFor:function(e,n){var r=(0,t.getOwner)(this),i=r.lookup("route:"+e)
-return i&&i.controllerName&&(e=i.controllerName),r.lookup("controller:"+e)},generateController:function(e){var n=(0,t.getOwner)(this)
-return(0,o.default)(n,e)},modelFor:function(e){var n,r=void 0,i=(0,t.getOwner)(this),o=this._router?this._router._routerMicrolib.activeTransition:null
-r=i.routable&&null!==o?v(i,e):e
-var s=i.lookup("route:"+r)
-return null!==o&&(n=s&&s.routeName||r,o.resolvedModels.hasOwnProperty(n))?o.resolvedModels[n]:s&&s.currentModel},renderTemplate:function(){this.render()},render:function(e,t){var r=void 0,i=0===arguments.length
-i||("object"!=typeof e||t?r=e:(r=this.templateName||this.routeName,t=e))
-var o=h(this,i,r,t)
-this.connections.push(o),(0,n.once)(this._router,"_setOutlets")},disconnectOutlet:function(e){var t,n=void 0,r=void 0
-e&&("string"==typeof e?n=e:(n=e.outlet,r=e.parentView?e.parentView.replace(/\//g,"."):void 0)),n=n||"main",this._disconnectOutlet(n,r)
-var i=this._router._routerMicrolib.currentHandlerInfos
-for(t=0;t<i.length;t++)i[t].handler._disconnectOutlet(n,r)},_disconnectOutlet:function(e,t){var r,i,o=c(this)
-for(o&&t===o.routeName&&(t=void 0),r=0;r<this.connections.length;r++)i=this.connections[r],i.outlet===e&&i.into===t&&(this.connections[r]={owner:i.owner,into:i.into,outlet:i.outlet,name:i.name,controller:void 0,template:void 0},(0,n.once)(this._router,"_setOutlets"))},willDestroy:function(){this.teardownViews()},teardownViews:function(){this.connections&&this.connections.length>0&&(this.connections=[],(0,n.once)(this._router,"_setOutlets"))}})
-y.reopenClass({isRouteFactory:!0}),e.default=y}),e("ember-routing/lib/system/router",["exports","ember-utils","ember-metal","ember-debug","ember-runtime","ember-routing/lib/system/route","ember-routing/lib/system/dsl","ember-routing/lib/location/api","ember-routing/lib/utils","ember-routing/lib/system/router_state","router"],function(e,t,n,r,i,o,s,a,u,c,l){"use strict"
-function h(){return this}function d(e,t){var n,r,i
-for(n=e.length-1;n>=0;--n)if(r=e[n],void 0!==(i=r.handler)&&!0!==t(i,r))return}function p(e,t){var n,r=[],i=void 0
-i=e&&"object"==typeof e&&"object"==typeof e.errorThrown?e.errorThrown:e,t&&r.push(t),i&&(i.message&&r.push(i.message),i.stack&&r.push(i.stack),"string"==typeof i&&r.push(i)),(n=console).error.apply(n,r)}function f(e,n){var r=(0,t.getOwner)(e),i=e.routeName,o=e.fullRouteName,s=e._router,a=o+"_"+n
-return m(r,s,i+"_"+n,a)?a:""}function g(e,n){var r=(0,t.getOwner)(e),i=e.routeName,o=e.fullRouteName,s=e._router,a="application"===i?n:i+"."+n,u="application"===o?n:o+"."+n
-return m(r,s,a,u)?u:""}function m(e,t,n,r){var i=t.hasRoute(r),o=e.hasRegistration("template:"+n)||e.hasRegistration("route:"+n)
-return i&&o}function v(e,t,n){var i,o=n.shift()
-if(!e){if(t)return
-throw new r.Error("Can't trigger action '"+o+"' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call `.send()` on the `Transition` object passed to the `model/beforeModel/afterModel` hooks.")}var s=!1,a=void 0,u=void 0,c=void 0
-for(i=e.length-1;i>=0;i--)if(a=e[i],u=a.handler,c=u&&u.actions&&u.actions[o]){if(!0!==c.apply(u,n))return void("error"===o&&u._router._markErrorAsHandled(n[0]))
-s=!0}var l=E[o]
-if(l)return void l.apply(this,[e].concat(n))
-if(!s&&!t)throw new r.Error("Nothing handled the action '"+o+"'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.")}function y(e,t,n){var r,i,o=e._routerMicrolib.applyIntent(t,n),s=o.handlerInfos,a=o.params
-for(r=0;r<s.length;++r)i=s[r],i.isResolved?a[i.name]=i.params:a[i.name]=i.serialize(i.context)
-return o}function b(e){var r=e._routerMicrolib.currentHandlerInfos
-if(0!==r.length){var i=j._routePath(r),o=r[r.length-1].name,s=e.get("location").getURL();(0,n.set)(e,"currentPath",i),(0,n.set)(e,"currentRouteName",o),(0,n.set)(e,"currentURL",s)
-var a=(0,t.getOwner)(e).lookup("controller:application")
-a&&("currentPath"in a||(0,n.defineProperty)(a,"currentPath"),(0,n.set)(a,"currentPath",i),"currentRouteName"in a||(0,n.defineProperty)(a,"currentRouteName"),(0,n.set)(a,"currentRouteName",o))}}function C(e,t){var n=new c.default(t,t._routerMicrolib,e.state)
-t.currentState||t.set("currentState",n),t.set("targetState",n),e.promise=e.catch(function(e){if(!t._isErrorHandled(e))throw e
-t._clearHandledError(e)})}function A(e,t,n,r){var i,o,s=e._queryParamsFor(t)
-for(var a in n)n.hasOwnProperty(a)&&(i=n[a],o=s.map[a],r(a,i,o))}function _(e,t){if(e)for(var n,r,i=[e];i.length>0;){if(n=i.shift(),n.render.name===t)return n
-r=n.outlets
-for(var o in r)i.push(r[o])}}function I(e,t,r){var i=void 0,o={render:r,outlets:Object.create(null),wasUsed:!1}
-return i=r.into?_(e,r.into):t,i?(0,n.set)(i.outlets,r.outlet,o):r.into?w(e,r.into,o):e=o,{liveRoutes:e,ownState:o}}function w(e,t,r){e.outlets.__ember_orphans__||(e.outlets.__ember_orphans__={render:{name:"__ember_orphans__"},outlets:Object.create(null)}),e.outlets.__ember_orphans__.outlets[t]=r,(0,n.schedule)("afterRender",function(){})}function x(e,t,n){var r=_(e,n.routeName)
-return r||(t.outlets.main={render:{name:n.routeName,outlet:"main"},outlets:{}},t)}e.triggerEvent=v
-var k=Array.prototype.slice,j=i.Object.extend(i.Evented,{location:"hash",rootURL:"/",_initRouterJs:function(){var e=this._routerMicrolib=new l.default
-e.triggerEvent=v.bind(this),e._triggerWillChangeContext=h,e._triggerWillLeave=h
-var t=this.constructor.dslCallbacks||[h],n=this._buildDSL()
-n.route("application",{path:"/",resetNamespace:!0,overrideNameAssertion:!0},function(){var e
-for(e=0;e<t.length;e++)t[e].call(this)}),e.map(n.generate())},_buildDSL:function(){var e=this._hasModuleBasedResolver(),n={enableLoadingSubstates:e},r=(0,t.getOwner)(this),i=this
-return n.resolveRouteMap=function(e){return r.factoryFor("route-map:"+e)},n.addRouteForEngine=function(e,t){i._engineInfoByRoute[e]||(i._engineInfoByRoute[e]=t)},new s.default(null,n)},init:function(){this._super.apply(this,arguments),this.currentURL=null,this.currentRouteName=null,this.currentPath=null,this._qpCache=Object.create(null),this._resetQueuedQueryParameterChanges(),this._handledErrors=new Set,this._engineInstances=Object.create(null),this._engineInfoByRoute=Object.create(null)},_resetQueuedQueryParameterChanges:function(){this._queuedQPChanges={}},url:(0,n.computed)(function(){return(0,n.get)(this,"location").getURL()}),_hasModuleBasedResolver:function(){var e=(0,t.getOwner)(this)
-return!!e&&!!(0,n.get)(e,"application.__registry__.resolver.moduleBasedResolver")},startRouting:function(){var e,t=(0,n.get)(this,"initialURL")
-if(this.setupRouter()&&(void 0===t&&(t=(0,n.get)(this,"location").getURL()),(e=this.handleURL(t))&&e.error))throw e.error},setupRouter:function(){var e=this
-this._initRouterJs(),this._setupLocation()
-var t=(0,n.get)(this,"location")
-return!(0,n.get)(t,"cancelRouterSetup")&&(this._setupRouter(t),t.onUpdateURL(function(t){e.handleURL(t)}),!0)},didTransition:function(){b(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState),(0,n.once)(this,this.trigger,"didTransition")},_setOutlets:function(){if(!this.isDestroying&&!this.isDestroyed){var e,n,r,i,o,s,a,u,c=this._routerMicrolib.currentHandlerInfos,l=void 0,h=void 0,d=null
-if(c){for(e=0;e<c.length;e++){for(l=c[e].handler,n=l.connections,r=void 0,i=0;i<n.length;i++)o=I(d,h,n[i]),d=o.liveRoutes,o.ownState.render.name!==l.routeName&&"main"!==o.ownState.render.outlet||(r=o.ownState)
-0===n.length&&(r=x(d,h,l)),h=r}d&&(this._toplevelView?this._toplevelView.setOutletState(d):(s=(0,t.getOwner)(this),a=s.factoryFor("view:-outlet"),this._toplevelView=a.create(),this._toplevelView.setOutletState(d),u=s.lookup("-application-instance:main"),u.didCreateRootView(this._toplevelView)))}}},willTransition:function(e,t,r){(0,n.once)(this,this.trigger,"willTransition",r)},handleURL:function(e){var t=e.split(/#(.+)?/)[0]
-return this._doURLTransition("handleURL",t)},_doURLTransition:function(e,t){var n=this._routerMicrolib[e](t||"/")
-return C(n,this),n},transitionTo:function(){for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-if((0,u.resemblesURL)(t[0]))return this._doURLTransition("transitionTo",t[0])
-var e,t,n,r=(0,u.extractRouteArgs)(t),i=r.routeName,o=r.models,s=r.queryParams
-return this._doTransition(i,o,s)},intermediateTransitionTo:function(){var e;(e=this._routerMicrolib).intermediateTransitionTo.apply(e,arguments),b(this)},replaceWith:function(){return this.transitionTo.apply(this,arguments).method("replace")},generate:function(){var e,t=(e=this._routerMicrolib).generate.apply(e,arguments)
-return this.location.formatURL(t)},isActive:function(){var e
-return(e=this._routerMicrolib).isActive.apply(e,arguments)},isActiveIntent:function(e,t,n){return this.currentState.isActiveIntent(e,t,n)},send:function(){var e;(e=this._routerMicrolib).trigger.apply(e,arguments)},hasRoute:function(e){return this._routerMicrolib.hasRoute(e)},reset:function(){this._routerMicrolib&&this._routerMicrolib.reset()},willDestroy:function(){this._toplevelView&&(this._toplevelView.destroy(),this._toplevelView=null),this._super.apply(this,arguments),this.reset()
-var e=this._engineInstances
-for(var t in e)for(var r in e[t])(0,n.run)(e[t][r],"destroy")},_activeQPChanged:function(e,t){this._queuedQPChanges[e]=t,(0,n.once)(this,this._fireQueryParamTransition)},_updatingQPChanged:function(e){this._qpUpdates||(this._qpUpdates={}),this._qpUpdates[e]=!0},_fireQueryParamTransition:function(){this.transitionTo({queryParams:this._queuedQPChanges}),this._resetQueuedQueryParameterChanges()},_setupLocation:function(){var e,r,i=(0,n.get)(this,"location"),o=(0,n.get)(this,"rootURL"),s=(0,t.getOwner)(this)
-"string"==typeof i&&s&&(e=s.lookup("location:"+i),void 0!==e?i=(0,n.set)(this,"location",e):(r={implementation:i},i=(0,n.set)(this,"location",a.default.create(r)))),null!==i&&"object"==typeof i&&(o&&(0,n.set)(i,"rootURL",o),"function"==typeof i.detect&&i.detect(),"function"==typeof i.initState&&i.initState())},_getHandlerFunction:function(){var e=this,n=Object.create(null),r=(0,t.getOwner)(this)
-return function(t){var i,s,a=t,u=r,c=e._engineInfoByRoute[a]
-c&&(i=e._getEngineInstance(c),u=i,a=c.localFullName)
-var l="route:"+a,h=u.lookup(l)
-if(n[t])return h
-if(n[t]=!0,h||(s=u.factoryFor("route:basic").class,u.register(l,s.extend()),h=u.lookup(l)),h._setRouteName(a),c&&!(0,o.hasDefaultSerialize)(h))throw new Error("Defining a custom serialize method on an Engine route is not supported.")
-return h}},_getSerializerFunction:function(){var e=this
-return function(t){var n=e._engineInfoByRoute[t]
-if(n)return n.serializeMethod||o.defaultSerialize}},_setupRouter:function(e){var t,r=this,i=void 0,o=this._routerMicrolib
-o.getHandler=this._getHandlerFunction(),o.getSerializer=this._getSerializerFunction()
-var s=function(){e.setURL(i),(0,n.set)(r,"currentURL",i)}
-o.updateURL=function(e){i=e,(0,n.once)(s)},e.replaceURL&&(t=function(){e.replaceURL(i),(0,n.set)(r,"currentURL",i)},o.replaceURL=function(e){i=e,(0,n.once)(t)}),o.didTransition=function(e){r.didTransition(e)},o.willTransition=function(e,t,n){r.willTransition(e,t,n)}},_serializeQueryParams:function(e,t){var n=this
-A(this,e,t,function(e,r,o){o?(delete t[e],t[o.urlKey]=o.route.serializeQueryParam(r,o.urlKey,o.type)):void 0===r||(t[e]=n._serializeQueryParam(r,(0,i.typeOf)(r)))})},_serializeQueryParam:function(e,t){return null===e||void 0===e?e:"array"===t?JSON.stringify(e):""+e},_deserializeQueryParams:function(e,t){A(this,e,t,function(e,n,r){r&&(delete t[e],t[r.prop]=r.route.deserializeQueryParam(n,r.urlKey,r.type))})},_deserializeQueryParam:function(e,t){return null===e||void 0===e?e:"boolean"===t?"true"===e:"number"===t?Number(e).valueOf():"array"===t?(0,i.A)(JSON.parse(e)):e},_pruneDefaultQueryParamValues:function(e,t){var n,r=this._queryParamsFor(e)
-for(var i in t)(n=r.map[i])&&n.serializedDefaultValue===t[i]&&delete t[i]},_doTransition:function(e,n,r,i){var o,s=e||(0,u.getActiveTargetName)(this._routerMicrolib),a={}
-this._processActiveTransitionQueryParams(s,n,a,r),(0,t.assign)(a,r),this._prepareQueryParams(s,n,a,i)
-var c=(o=this._routerMicrolib).transitionTo.apply(o,[s].concat(n,[{queryParams:a}]))
-return C(c,this),c},_processActiveTransitionQueryParams:function(e,n,r,i){if(this._routerMicrolib.activeTransition){var o={},s=this._qpUpdates||{},a=this._routerMicrolib.activeTransition.queryParams
-for(var u in a)s[u]||(o[u]=a[u])
-this._fullyScopeQueryParams(e,n,i),this._fullyScopeQueryParams(e,n,o),(0,t.assign)(r,o)}},_prepareQueryParams:function(e,t,n,r){var i=y(this,e,t)
-this._hydrateUnsuppliedQueryParams(i,n,r),this._serializeQueryParams(i.handlerInfos,n),r||this._pruneDefaultQueryParamValues(i.handlerInfos,n)},_getQPMeta:function(e){var t=e.handler
-return t&&(0,n.get)(t,"_qp")},_queryParamsFor:function(e){var n,r,i,o,s,a,u=e.length,c=e[u-1].name,l=this._qpCache[c]
-if(l)return l
-var h=!0,d={},p={},f=[]
-for(n=0;n<u;++n)if(r=this._getQPMeta(e[n])){for(i=0;i<r.qps.length;i++)o=r.qps[i],s=o.urlKey,a=d[s],a&&a.controllerName!==o.controllerName&&d[s],d[s]=o,f.push(o);(0,t.assign)(p,r.map)}else h=!1
-var g={qps:f,map:p}
-return h&&(this._qpCache[c]=g),g},_fullyScopeQueryParams:function(e,t,n){var r,i,o,s,a,u,c,l=y(this,e,t),h=l.handlerInfos
-for(r=0,i=h.length;r<i;++r)if(o=this._getQPMeta(h[r]))for(s=0,a=o.qps.length;s<a;++s)u=o.qps[s],(c=u.prop in n&&u.prop||u.scopedPropertyName in n&&u.scopedPropertyName||u.urlKey in n&&u.urlKey)&&c!==u.scopedPropertyName&&(n[u.scopedPropertyName]=n[c],delete n[c])},_hydrateUnsuppliedQueryParams:function(e,t,n){var r,i,o,s,a,c,l,h=e.handlerInfos,d=this._bucketCache
-for(r=0;r<h.length;++r)if(i=this._getQPMeta(h[r]))for(o=0,s=i.qps.length;o<s;++o)a=i.qps[o],c=a.prop in t&&a.prop||a.scopedPropertyName in t&&a.scopedPropertyName||a.urlKey in t&&a.urlKey,c?c!==a.scopedPropertyName&&(t[a.scopedPropertyName]=t[c],delete t[c]):(l=(0,u.calculateCacheKey)(a.route.fullRouteName,a.parts,e.params),t[a.scopedPropertyName]=d.lookup(l,a.prop,a.defaultValue))},_scheduleLoadingEvent:function(e,t){this._cancelSlowTransitionTimer(),this._slowTransitionTimer=(0,n.scheduleOnce)("routerTransitions",this,"_handleSlowTransition",e,t)},currentState:null,targetState:null,_handleSlowTransition:function(e,t){if(this._routerMicrolib.activeTransition){var n=new c.default(this,this._routerMicrolib,this._routerMicrolib.activeTransition.state)
-this.set("targetState",n),e.trigger(!0,"loading",e,t)}},_cancelSlowTransitionTimer:function(){this._slowTransitionTimer&&(0,n.cancel)(this._slowTransitionTimer),this._slowTransitionTimer=null},_markErrorAsHandled:function(e){this._handledErrors.add(e)},_isErrorHandled:function(e){return this._handledErrors.has(e)},_clearHandledError:function(e){this._handledErrors.delete(e)},_getEngineInstance:function(e){var n,r=e.name,i=e.instanceId,o=e.mountPoint,s=this._engineInstances
-s[r]||(s[r]=Object.create(null))
-var a=s[r][i]
-return a||(n=(0,t.getOwner)(this),a=n.buildChildEngineInstance(r,{routable:!0,mountPoint:o}),a.boot(),s[r][i]=a),a}}),E={willResolveModel:function(e,t,n){this._scheduleLoadingEvent(t,n)},error:function(e,t,n){var r=this,i=e[e.length-1]
-d(e,function(e,n){if(n!==i&&(o=g(e,"error")))return r._markErrorAsHandled(t),r.intermediateTransitionTo(o,t),!1
-var o,s=f(e,"error")
-return!s||(r._markErrorAsHandled(t),r.intermediateTransitionTo(s,t),!1)}),p(t,"Error while processing route: "+n.targetName)},loading:function(e,t){var n=this,r=e[e.length-1]
-d(e,function(e,i){if(i!==r&&(o=g(e,"loading")))return n.intermediateTransitionTo(o),!1
-var o,s=f(e,"loading")
-return s?(n.intermediateTransitionTo(s),!1):t.pivotHandler!==e})}}
-j.reopenClass({map:function(e){return this.dslCallbacks||(this.dslCallbacks=[],this.reopenClass({dslCallbacks:this.dslCallbacks})),this.dslCallbacks.push(e),this},_routePath:function(e){var t,n=[],r=void 0,i=void 0,o=void 0
-for(t=1;t<e.length;t++){for(r=e[t].name,i=r.split("."),o=k.call(n);o.length&&!function(e,t){var n
-for(n=0;n<e.length;++n)if(e[n]!==t[n])return!1
-return!0}(o,i);)o.shift()
-n.push.apply(n,i.slice(o.length))}return n.join(".")}}),e.default=j}),e("ember-routing/lib/system/router_state",["exports","ember-utils","ember-routing/lib/utils"],function(e,t,n){"use strict"
-var r=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null
-this.emberRouter=e,this.routerJs=t,this.routerJsState=n}return e.prototype.isActiveIntent=function(e,r,i,o){var s,a=this.routerJsState
-return!!this.routerJs.isActiveIntent(e,r,null,a)&&(!(o&&Object.keys(i).length>0)||(s=(0,t.assign)({},i),this.emberRouter._prepareQueryParams(e,r,s),(0,n.shallowEqual)(s,a.queryParams)))},e}()
-e.default=r}),e("ember-routing/lib/utils",["exports","ember-utils","ember-metal","ember-debug"],function(e,t,n,r){"use strict"
-function i(e,t){var n,r,i=e.split("."),o=""
-for(n=0;n<i.length&&(r=i.slice(0,n+1).join("."),0===t.indexOf(r));n++)o=r
-return o}function o(e){var t,r,o,s,a,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],l=arguments[2],h=""
-for(t=0;t<c.length;++t)r=c[t],o=i(e,r),s=void 0,l&&(o&&o in l?(a=0===r.indexOf(o)?r.substr(o.length+1):r,s=(0,n.get)(l[o],a)):s=(0,n.get)(l,r)),h+="::"+r+":"+s
-return e+h.replace(u,"-")}function s(e,n){var r,i=e,o=void 0
-"string"==typeof i&&(o={},o[i]={as:null},i=o)
-for(var s in i){if(!i.hasOwnProperty(s))return
-r=i[s],"string"==typeof r&&(r={as:r}),o=n[s]||{as:null,scope:"model"},(0,t.assign)(o,r),n[s]=o}}function a(e){return"string"==typeof e&&(""===e||"/"===e[0])}e.extractRouteArgs=function(e){e=e.slice()
-var t=e[e.length-1],n=void 0
-return n=t&&t.hasOwnProperty("queryParams")?e.pop().queryParams:{},{routeName:e.shift(),models:e,queryParams:n}},e.getActiveTargetName=function(e){var t=e.activeTransition?e.activeTransition.state.handlerInfos:e.state.handlerInfos
-return t[t.length-1].name},e.stashParamNames=function(e,t){if(!t._namesStashed){var n,r,i,o,s=t[t.length-1].name,a=e._routerMicrolib.recognizer.handlersFor(s),u=null
-for(n=0;n<t.length;++n)r=t[n],i=a[n].names,i.length&&(u=r),r._names=i,o=r.handler,o._stashNames(r,u)
-t._namesStashed=!0}},e.calculateCacheKey=o,e.normalizeControllerQueryParams=function(e){var t,n={}
-for(t=0;t<e.length;++t)s(e[t],n)
-return n},e.resemblesURL=a,e.prefixRouteNameArg=function(e,n){var i=n[0],o=(0,t.getOwner)(e),s=o.mountPoint
-if(o.routable&&"string"==typeof i){if(a(i))throw new r.Error("Programmatic transitions by URL cannot be used within an Engine. Please use the route name instead.")
-i=s+"."+i,n[0]=i}return n},e.shallowEqual=function(e,t){var n=void 0,r=0,i=0
-for(n in e)if(e.hasOwnProperty(n)){if(e[n]!==t[n])return!1
-r++}for(n in t)t.hasOwnProperty(n)&&i++
-return r===i}
-var u=/\./g}),e("ember-runtime/index",["exports","ember-runtime/lib/system/object","ember-runtime/lib/system/string","ember-runtime/lib/mixins/registry_proxy","ember-runtime/lib/mixins/container_proxy","ember-runtime/lib/copy","ember-runtime/lib/inject","ember-runtime/lib/compare","ember-runtime/lib/is-equal","ember-runtime/lib/mixins/array","ember-runtime/lib/mixins/comparable","ember-runtime/lib/system/namespace","ember-runtime/lib/system/array_proxy","ember-runtime/lib/system/object_proxy","ember-runtime/lib/system/core_object","ember-runtime/lib/mixins/action_handler","ember-runtime/lib/mixins/copyable","ember-runtime/lib/mixins/enumerable","ember-runtime/lib/mixins/-proxy","ember-runtime/lib/system/lazy_load","ember-runtime/lib/mixins/observable","ember-runtime/lib/mixins/mutable_enumerable","ember-runtime/lib/mixins/target_action_support","ember-runtime/lib/mixins/evented","ember-runtime/lib/mixins/promise_proxy","ember-runtime/lib/computed/computed_macros","ember-runtime/lib/computed/reduce_computed_macros","ember-runtime/lib/controllers/controller","ember-runtime/lib/mixins/controller","ember-runtime/lib/system/service","ember-runtime/lib/ext/rsvp","ember-runtime/lib/utils","ember-runtime/lib/string_registry","ember-runtime/lib/ext/string","ember-runtime/lib/ext/function"],function(e,t,n,r,i,o,s,a,u,c,l,h,d,p,f,g,m,v,y,b,C,A,_,I,w,x,k,j,E,S,T,P,O){"use strict"
-e.setStrings=e.getStrings=e.typeOf=e.isArray=e.onerrorDefault=e.RSVP=e.Service=e.ControllerMixin=e.Controller=e.collect=e.intersect=e.union=e.uniqBy=e.uniq=e.filterBy=e.filter=e.mapBy=e.setDiff=e.sort=e.map=e.max=e.min=e.sum=e.or=e.and=e.deprecatingAlias=e.readOnly=e.oneWay=e.lte=e.lt=e.gte=e.gt=e.equal=e.match=e.bool=e.not=e.none=e.notEmpty=e.empty=e.PromiseProxyMixin=e.Evented=e.TargetActionSupport=e.MutableEnumerable=e.Observable=e._loaded=e.runLoadHooks=e.onLoad=e._contentFor=e._ProxyMixin=e.Enumerable=e.Copyable=e.ActionHandler=e.CoreObject=e.ObjectProxy=e.ArrayProxy=e.Namespace=e.Comparable=e.removeAt=e.MutableArray=e.A=e.NativeArray=e.isEmberArray=e.Array=e.isEqual=e.compare=e.inject=e.copy=e.ContainerProxyMixin=e.RegistryProxyMixin=e.String=e.FrameworkObject=e.Object=void 0,Object.defineProperty(e,"Object",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"FrameworkObject",{enumerable:!0,get:function(){return t.FrameworkObject}}),Object.defineProperty(e,"String",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"RegistryProxyMixin",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"ContainerProxyMixin",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"copy",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"inject",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"compare",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"isEqual",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"Array",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"isEmberArray",{enumerable:!0,get:function(){return c.isEmberArray}}),Object.defineProperty(e,"NativeArray",{enumerable:!0,get:function(){return c.NativeArray}}),Object.defineProperty(e,"A",{enumerable:!0,get:function(){return c.A}}),Object.defineProperty(e,"MutableArray",{enumerable:!0,get:function(){return c.MutableArray}}),Object.defineProperty(e,"removeAt",{enumerable:!0,get:function(){return c.removeAt}}),Object.defineProperty(e,"Comparable",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"Namespace",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(e,"ArrayProxy",{enumerable:!0,get:function(){return d.default}}),Object.defineProperty(e,"ObjectProxy",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"CoreObject",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"ActionHandler",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(e,"Copyable",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(e,"Enumerable",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(e,"_ProxyMixin",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(e,"_contentFor",{enumerable:!0,get:function(){return y.contentFor}}),Object.defineProperty(e,"onLoad",{enumerable:!0,get:function(){return b.onLoad}}),Object.defineProperty(e,"runLoadHooks",{enumerable:!0,get:function(){return b.runLoadHooks}}),Object.defineProperty(e,"_loaded",{enumerable:!0,get:function(){return b._loaded}}),Object.defineProperty(e,"Observable",{enumerable:!0,get:function(){return C.default}})
-Object.defineProperty(e,"MutableEnumerable",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(e,"TargetActionSupport",{enumerable:!0,get:function(){return _.default}}),Object.defineProperty(e,"Evented",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(e,"PromiseProxyMixin",{enumerable:!0,get:function(){return w.default}}),Object.defineProperty(e,"empty",{enumerable:!0,get:function(){return x.empty}}),Object.defineProperty(e,"notEmpty",{enumerable:!0,get:function(){return x.notEmpty}}),Object.defineProperty(e,"none",{enumerable:!0,get:function(){return x.none}}),Object.defineProperty(e,"not",{enumerable:!0,get:function(){return x.not}}),Object.defineProperty(e,"bool",{enumerable:!0,get:function(){return x.bool}}),Object.defineProperty(e,"match",{enumerable:!0,get:function(){return x.match}}),Object.defineProperty(e,"equal",{enumerable:!0,get:function(){return x.equal}}),Object.defineProperty(e,"gt",{enumerable:!0,get:function(){return x.gt}}),Object.defineProperty(e,"gte",{enumerable:!0,get:function(){return x.gte}}),Object.defineProperty(e,"lt",{enumerable:!0,get:function(){return x.lt}}),Object.defineProperty(e,"lte",{enumerable:!0,get:function(){return x.lte}}),Object.defineProperty(e,"oneWay",{enumerable:!0,get:function(){return x.oneWay}}),Object.defineProperty(e,"readOnly",{enumerable:!0,get:function(){return x.readOnly}}),Object.defineProperty(e,"deprecatingAlias",{enumerable:!0,get:function(){return x.deprecatingAlias}}),Object.defineProperty(e,"and",{enumerable:!0,get:function(){return x.and}}),Object.defineProperty(e,"or",{enumerable:!0,get:function(){return x.or}}),Object.defineProperty(e,"sum",{enumerable:!0,get:function(){return k.sum}}),Object.defineProperty(e,"min",{enumerable:!0,get:function(){return k.min}}),Object.defineProperty(e,"max",{enumerable:!0,get:function(){return k.max}}),Object.defineProperty(e,"map",{enumerable:!0,get:function(){return k.map}}),Object.defineProperty(e,"sort",{enumerable:!0,get:function(){return k.sort}}),Object.defineProperty(e,"setDiff",{enumerable:!0,get:function(){return k.setDiff}}),Object.defineProperty(e,"mapBy",{enumerable:!0,get:function(){return k.mapBy}}),Object.defineProperty(e,"filter",{enumerable:!0,get:function(){return k.filter}}),Object.defineProperty(e,"filterBy",{enumerable:!0,get:function(){return k.filterBy}}),Object.defineProperty(e,"uniq",{enumerable:!0,get:function(){return k.uniq}})
-Object.defineProperty(e,"uniqBy",{enumerable:!0,get:function(){return k.uniqBy}}),Object.defineProperty(e,"union",{enumerable:!0,get:function(){return k.union}}),Object.defineProperty(e,"intersect",{enumerable:!0,get:function(){return k.intersect}}),Object.defineProperty(e,"collect",{enumerable:!0,get:function(){return k.collect}}),Object.defineProperty(e,"Controller",{enumerable:!0,get:function(){return j.default}}),Object.defineProperty(e,"ControllerMixin",{enumerable:!0,get:function(){return E.default}}),Object.defineProperty(e,"Service",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(e,"RSVP",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(e,"onerrorDefault",{enumerable:!0,get:function(){return T.onerrorDefault}}),Object.defineProperty(e,"isArray",{enumerable:!0,get:function(){return P.isArray}}),Object.defineProperty(e,"typeOf",{enumerable:!0,get:function(){return P.typeOf}}),Object.defineProperty(e,"getStrings",{enumerable:!0,get:function(){return O.getStrings}}),Object.defineProperty(e,"setStrings",{enumerable:!0,get:function(){return O.setStrings}})}),e("ember-runtime/lib/compare",["exports","ember-runtime/lib/utils","ember-runtime/lib/mixins/comparable"],function(e,t,n){"use strict"
-function r(e,t){var n=e-t
-return(n>0)-(n<0)}function i(e,s){if(e===s)return 0
-var a,u,c,l,h,d=(0,t.typeOf)(e),p=(0,t.typeOf)(s)
-if("instance"===d&&n.default.detect(e)&&e.constructor.compare)return e.constructor.compare(e,s)
-if("instance"===p&&n.default.detect(s)&&s.constructor.compare)return-1*s.constructor.compare(s,e)
-var f=r(o[d],o[p])
-if(0!==f)return f
-switch(d){case"boolean":case"number":return r(e,s)
-case"string":return r(e.localeCompare(s),0)
-case"array":for(a=e.length,u=s.length,c=Math.min(a,u),l=0;l<c;l++)if(0!==(h=i(e[l],s[l])))return h
-return r(a,u)
-case"instance":return n.default.detect(e)?e.compare(e,s):0
-case"date":return r(e.getTime(),s.getTime())
-default:return 0}}e.default=i
-var o={undefined:0,null:1,boolean:2,number:3,string:4,array:5,object:6,instance:7,function:8,class:9,date:10}}),e("ember-runtime/lib/computed/computed_macros",["exports","ember-metal","ember-debug"],function(e,t,n){"use strict"
-function r(e,n){function r(e){s.push(e)}var i,o,s=[]
-for(i=0;i<n.length;i++)o=n[i],(0,t.expandProperties)(o,r)
-return s}function i(e,n){return function(){for(i=arguments.length,o=Array(i),s=0;s<i;s++)o[s]=arguments[s]
-var i,o,s,a=r(e,o)
-return new t.ComputedProperty(function(){var e,r,i=a.length-1
-for(e=0;e<i;e++)if(r=(0,t.get)(this,a[e]),!n(r))return r
-return(0,t.get)(this,a[i])},{dependentKeys:a})}}e.or=e.and=void 0,e.empty=function(e){return(0,t.computed)(e+".length",function(){return(0,t.isEmpty)((0,t.get)(this,e))})},e.notEmpty=function(e){return(0,t.computed)(e+".length",function(){return!(0,t.isEmpty)((0,t.get)(this,e))})},e.none=function(e){return(0,t.computed)(e,function(){return(0,t.isNone)((0,t.get)(this,e))})},e.not=function(e){return(0,t.computed)(e,function(){return!(0,t.get)(this,e)})},e.bool=function(e){return(0,t.computed)(e,function(){return!!(0,t.get)(this,e)})},e.match=function(e,n){return(0,t.computed)(e,function(){var r=(0,t.get)(this,e)
-return n.test(r)})},e.equal=function(e,n){return(0,t.computed)(e,function(){return(0,t.get)(this,e)===n})},e.gt=function(e,n){return(0,t.computed)(e,function(){return(0,t.get)(this,e)>n})},e.gte=function(e,n){return(0,t.computed)(e,function(){return(0,t.get)(this,e)>=n})},e.lt=function(e,n){return(0,t.computed)(e,function(){return(0,t.get)(this,e)<n})},e.lte=function(e,n){return(0,t.computed)(e,function(){return(0,t.get)(this,e)<=n})},e.oneWay=function(e){return(0,t.alias)(e).oneWay()},e.readOnly=function(e){return(0,t.alias)(e).readOnly()},e.deprecatingAlias=function(e,n){return(0,t.computed)(e,{get:function(n){return(0,t.get)(this,e)},set:function(n,r){return(0,t.set)(this,e,r),r}})},e.and=i("and",function(e){return e}),e.or=i("or",function(e){return!e})})
-e("ember-runtime/lib/computed/reduce_computed_macros",["exports","ember-debug","ember-metal","ember-runtime/lib/compare","ember-runtime/lib/utils","ember-runtime/lib/mixins/array"],function(e,t,n,r,i,o){"use strict"
-function s(e,t,r,i){return new n.ComputedProperty(function(){var i=(0,n.get)(this,e)
-return null===i||"object"!=typeof i?r:i.reduce(t,r,this)},{dependentKeys:[e+".[]"],readOnly:!0})}function a(e,t){var r=void 0;/@each/.test(e)?r=e.replace(/\.@each.*$/,""):(r=e,e+=".[]")
-var s=new n.ComputedProperty(function(){var e=(0,n.get)(this,r)
-return(0,i.isArray)(e)?(0,o.A)(t.call(this,e)):(0,o.A)()},{readOnly:!0})
-return s.property(e),s}function u(e,t,r){var i=e.map(function(e){return e+".[]"})
-return new n.ComputedProperty(function(){return(0,o.A)(t.call(this,e))},{dependentKeys:i,readOnly:!0})}function c(e,t){return a(e,function(e){return e.map(t,this)})}function l(e,t){return a(e,function(e){return e.filter(t,this)})}function h(){var e,t,r
-for(e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r]
-return u(t,function(e){var t=this,r=(0,o.A)(),s=new Set
-return e.forEach(function(e){var o=(0,n.get)(t,e);(0,i.isArray)(o)&&o.forEach(function(e){s.has(e)||(s.add(e),r.push(e))})}),r},"uniq")}function d(e,t){return a(e,function(e){var n=this
-return e.slice().sort(function(e,r){return t.call(n,e,r)})})}function p(e,t){var r=new n.ComputedProperty(function(s){function a(){this.notifyPropertyChange(s)}var u,c=this,l=(0,n.get)(this,t),h=r._activeObserverMap||(r._activeObserverMap=new WeakMap),d=h.get(this)
-void 0!==d&&d.forEach(function(e){return n.removeObserver.apply(void 0,e)})
-var p="@this"===e,m=f(l)
-0===m.length?(u=p?"[]":e+".[]",(0,n.addObserver)(this,u,a),d=[[this,u,a]]):d=m.map(function(t){var r=t[0],i=p?"@each."+r:e+".@each."+r
-return(0,n.addObserver)(c,i,a),[c,i,a]}),h.set(this,d)
-var v=p?this:(0,n.get)(this,e)
-return(0,i.isArray)(v)?0===m.length?(0,o.A)(v.slice()):g(v,m):(0,o.A)()},{dependentKeys:[t+".[]"],readOnly:!0})
-return r._activeObserverMap=void 0,r}function f(e){return e.map(function(e){var t=e.split(":"),n=t[0],r=t[1]
-return r=r||"asc",[n,r]})}function g(e,t){return(0,o.A)(e.slice().sort(function(e,i){var o,s,a,u,c
-for(o=0;o<t.length;o++)if(s=t[o],a=s[0],u=s[1],0!==(c=(0,r.default)((0,n.get)(e,a),(0,n.get)(i,a))))return"desc"===u?-1*c:c
-return 0}))}e.union=void 0,e.sum=function(e){return s(e,function(e,t){return e+t},0,"sum")},e.max=function(e){return s(e,function(e,t){return Math.max(e,t)},-1/0,"max")},e.min=function(e){return s(e,function(e,t){return Math.min(e,t)},1/0,"min")},e.map=c,e.mapBy=function(e,t){return c(e+".@each."+t,function(e){return(0,n.get)(e,t)})},e.filter=l,e.filterBy=function(e,t,r){var i=void 0
-return i=2===arguments.length?function(e){return(0,n.get)(e,t)}:function(e){return(0,n.get)(e,t)===r},l(e+".@each."+t,i)},e.uniq=h,e.uniqBy=function(e,t){return new n.ComputedProperty(function(){var r,s=(0,o.A)(),a=(0,n.get)(this,e)
-return(0,i.isArray)(a)&&(r=new Set,a.forEach(function(e){var i=(0,n.get)(e,t)
-r.has(i)||(r.add(i),s.push(e))})),s},{dependentKeys:[e+".[]"],readOnly:!0})},e.intersect=function(){var e,t,r
-for(e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r]
-return u(t,function(e){var t=this,r=e.map(function(e){var r=(0,n.get)(t,e)
-return(0,i.isArray)(r)?r:[]}),s=r.pop().filter(function(e){var t,n,i,o
-for(t=0;t<r.length;t++){for(n=!1,i=r[t],o=0;o<i.length;o++)if(i[o]===e){n=!0
-break}if(!1===n)return!1}return!0},"intersect")
-return(0,o.A)(s)})},e.setDiff=function(e,t){return new n.ComputedProperty(function(){var n=this.get(e),r=this.get(t)
-return(0,i.isArray)(n)?(0,i.isArray)(r)?n.filter(function(e){return-1===r.indexOf(e)}):(0,o.A)(n):(0,o.A)()},{dependentKeys:[e+".[]",t+".[]"],readOnly:!0})},e.collect=function(){var e,t,r
-for(e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r]
-return u(t,function(){var e=(0,n.getProperties)(this,t),r=(0,o.A)()
-for(var i in e)e.hasOwnProperty(i)&&(void 0===e[i]?r.push(null):r.push(e[i]))
-return r},"collect")},e.sort=function(e,t){return"function"==typeof t?d(e,t):p(e,t)},e.union=h}),e("ember-runtime/lib/controllers/controller",["exports","ember-debug","ember-runtime/lib/system/object","ember-runtime/lib/mixins/controller","ember-runtime/lib/inject"],function(e,t,n,r,i){"use strict"
-var o=n.default.extend(r.default);(0,i.createInjectionHelper)("controller",function(e){}),e.default=o}),e("ember-runtime/lib/copy",["exports","ember-debug","ember-runtime/lib/system/object","ember-runtime/lib/mixins/copyable"],function(e,t,n,r){"use strict"
-function i(e,t,n,o){if("object"!=typeof e||null===e)return e
-var s,a=void 0,u=void 0
-if(t&&(u=n.indexOf(e))>=0)return o[u]
-if(Array.isArray(e)){if(a=e.slice(),t)for(u=a.length;--u>=0;)a[u]=i(a[u],t,n,o)}else if(r.default.detect(e))a=e.copy(t,n,o)
-else if(e instanceof Date)a=new Date(e.getTime())
-else{a={},s=void 0
-for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&"__"!==s.substring(0,2)&&(a[s]=t?i(e[s],t,n,o):e[s])}return t&&(n.push(e),o.push(a)),a}e.default=function(e,t){return"object"!=typeof e||null===e?e:r.default.detect(e)?e.copy(t):i(e,t,t?[]:null,t?[]:null)}}),e("ember-runtime/lib/ext/function",["ember-environment","ember-metal","ember-debug"],function(e,t,n){"use strict"
-var r=Function.prototype
-e.ENV.EXTEND_PROTOTYPES.Function&&(Object.defineProperty(r,"property",{configurable:!0,enumerable:!1,writable:!0,value:function(){return t.computed.apply(void 0,Array.prototype.slice.call(arguments).concat([this]))}}),Object.defineProperty(r,"observes",{configurable:!0,enumerable:!1,writable:!0,value:function(){return t.observer.apply(void 0,Array.prototype.slice.call(arguments).concat([this]))}}),Object.defineProperty(r,"_observesImmediately",{configurable:!0,enumerable:!1,writable:!0,value:function(){return this.observes.apply(this,arguments)}}),Object.defineProperty(r,"on",{configurable:!0,enumerable:!1,writable:!0,value:function(){return t.on.apply(void 0,Array.prototype.slice.call(arguments).concat([this]))}}))}),e("ember-runtime/lib/ext/rsvp",["exports","ember-babel","rsvp","ember-metal","ember-debug","container"],function(e,t,n,r,i,o){"use strict"
-function s(e){var t,n=a(e)
-if(n){if(!(t=(0,r.getDispatchOverride)()))throw n
-t(n)}}function a(e){if(e){if(e.errorThrown)return u(e)
-if("UnrecognizedURLError"!==e.name&&"TransitionAborted"!==e.name)return e}}function u(e){var t=e.errorThrown
-return"string"==typeof t&&(t=new Error(t)),Object.defineProperty(t,"__reason_with_error_thrown__",{value:e,enumerable:!1}),t}e.onerrorDefault=s
-var c=(0,t.taggedTemplateLiteralLoose)(["rsvpAfter"],["rsvpAfter"])
-n.configure("async",function(e,t){r.backburner.schedule("actions",null,e,t)}),n.configure("after",function(e){r.backburner.schedule((0,o.privatize)(c),null,e)}),n.on("error",s),e.default=n}),e("ember-runtime/lib/ext/string",["ember-environment","ember-runtime/lib/system/string"],function(e,t){"use strict"
-var n=String.prototype
-e.ENV.EXTEND_PROTOTYPES.String&&(Object.defineProperty(n,"w",{configurable:!0,enumerable:!1,writeable:!0,value:function(){return(0,t.w)(this)}}),Object.defineProperty(n,"loc",{configurable:!0,enumerable:!1,writeable:!0,value:function(){var e,n,r
-for(e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r]
-return(0,t.loc)(this,n)}}),Object.defineProperty(n,"camelize",{configurable:!0,enumerable:!1,writeable:!0,value:function(){return(0,t.camelize)(this)}}),Object.defineProperty(n,"decamelize",{configurable:!0,enumerable:!1,writeable:!0,value:function(){return(0,t.decamelize)(this)}}),Object.defineProperty(n,"dasherize",{configurable:!0,enumerable:!1,writeable:!0,value:function(){return(0,t.dasherize)(this)}}),Object.defineProperty(n,"underscore",{configurable:!0,enumerable:!1,writeable:!0,value:function(){return(0,t.underscore)(this)}}),Object.defineProperty(n,"classify",{configurable:!0,enumerable:!1,writeable:!0,value:function(){return(0,t.classify)(this)}}),Object.defineProperty(n,"capitalize",{configurable:!0,enumerable:!1,writeable:!0,value:function(){return(0,t.capitalize)(this)}}))}),e("ember-runtime/lib/inject",["exports","ember-metal","ember-debug"],function(e,t,n){"use strict"
-function r(){}e.default=r,e.createInjectionHelper=function(e,n){i[e]=n,r[e]=function(n){return new t.InjectedProperty(e,n)}},e.validatePropertyInjections=function(e){var n,r,o,s=e.proto(),a=[]
-for(var u in s)(n=(0,t.descriptorFor)(s,u))instanceof t.InjectedProperty&&-1===a.indexOf(n.type)&&a.push(n.type)
-if(a.length)for(r=0;r<a.length;r++)"function"==typeof(o=i[a[r]])&&o(e)
-return!0}
-var i={}}),e("ember-runtime/lib/is-equal",["exports"],function(e){"use strict"
-e.default=function(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():e===t}}),e("ember-runtime/lib/mixins/-proxy",["exports","@glimmer/reference","ember-metal","ember-utils","ember-debug","ember-runtime/lib/computed/computed_macros"],function(e,t,n,r,i,o){"use strict"
-function s(e,t){var r=t.slice(8)
-r in this||(0,n.notifyPropertyChange)(this,r)}function a(e,t){var r=(0,n.get)(e,"content"),i=(void 0===t?(0,n.meta)(e):t).readableTag()
-return void 0!==i&&i.inner.second.inner.update((0,n.tagFor)(r)),r}e.contentFor=a,e.default=n.Mixin.create({content:null,init:function(){this._super.apply(this,arguments),(0,r.setProxy)(this),(0,n.meta)(this).writableTag(function(){return(0,t.combine)([t.DirtyableTag.create(),t.UpdatableTag.create(t.CONSTANT_TAG)])})},isTruthy:(0,o.bool)("content"),willWatchProperty:function(e){(0,n.addObserver)(this,"content."+e,null,s)},didUnwatchProperty:function(e){(0,n.removeObserver)(this,"content."+e,null,s)},unknownProperty:function(e){var t=a(this)
-if(t)return(0,n.get)(t,e)},setUnknownProperty:function(e,t){var r=(0,n.meta)(this)
-if(r.proto===this)return(0,n.defineProperty)(this,e,null,t),t
-var i=a(this,r)
-return(0,n.set)(i,e,t)}})}),e("ember-runtime/lib/mixins/action_handler",["exports","ember-metal","ember-debug"],function(e,t,n){"use strict"
-var r=t.Mixin.create({mergedProperties:["actions"],send:function(e){for(n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i]
-if(!this.actions||!this.actions[e]||!0===this.actions[e].apply(this,r)){var n,r,i,o=(0,t.get)(this,"target")
-o&&o.send.apply(o,arguments)}}})
-e.default=r}),e("ember-runtime/lib/mixins/array",["exports","ember-utils","ember-metal","ember-debug","ember-runtime/lib/mixins/enumerable","ember-runtime/lib/compare","ember-environment","ember-runtime/lib/mixins/observable","ember-runtime/lib/mixins/copyable","ember-runtime/lib/copy","ember-runtime/lib/mixins/mutable_enumerable"],function(e,t,n,r,i,o,s,a,u,c,l){"use strict"
-function h(e,t){return 2===arguments.length?function(r){return t===(0,n.get)(r,e)}:function(t){return!!(0,n.get)(t,e)}}function d(e,t,i){if("number"==typeof t){if(t<0||t>=(0,n.get)(e,"length"))throw new r.Error(y)
-void 0===i&&(i=1),e.replace(t,i,b)}return e}e.MutableArray=e.NativeArray=e.A=void 0,e.isEmberArray=function(e){return e&&e[m]},e.removeAt=d
-var p,f,g=Object.freeze([]),m=(0,t.symbol)("EMBER_ARRAY"),v=n.Mixin.create(i.default,(p={},p[m]=!0,p.length=null,p.objectAt=function(e){if(!(e<0||e>=(0,n.get)(this,"length")))return(0,n.get)(this,e)},p.objectsAt=function(e){var t=this
-return e.map(function(e){return(0,n.objectAt)(t,e)})},p["[]"]=(0,n.computed)({get:function(){return this},set:function(e,t){return this.replace(0,(0,n.get)(this,"length"),t),this}}),p.firstObject=(0,n.computed)(function(){return(0,n.objectAt)(this,0)}).readOnly(),p.lastObject=(0,n.computed)(function(){return(0,n.objectAt)(this,(0,n.get)(this,"length")-1)}).readOnly(),p.slice=function(e,t){var r=I(),i=(0,n.get)(this,"length")
-for((0,n.isNone)(e)?e=0:e<0&&(e=i+e),(0,n.isNone)(t)||t>i?t=i:t<0&&(t=i+t);e<t;)r[r.length]=(0,n.objectAt)(this,e++)
-return r},p.indexOf=function(e,t){var r,i=(0,n.get)(this,"length")
-for(void 0===t&&(t=0),t<0&&(t+=i),r=t;r<i;r++)if((0,n.objectAt)(this,r)===e)return r
-return-1},p.lastIndexOf=function(e,t){var r,i=(0,n.get)(this,"length")
-for((void 0===t||t>=i)&&(t=i-1),t<0&&(t+=i),r=t;r>=0;r--)if((0,n.objectAt)(this,r)===e)return r
-return-1},p.addArrayObserver=function(e,t){return(0,n.addArrayObserver)(this,e,t)},p.removeArrayObserver=function(e,t){return(0,n.removeArrayObserver)(this,e,t)},p.hasArrayObservers=(0,n.computed)(function(){return(0,n.hasListeners)(this,"@array:change")||(0,n.hasListeners)(this,"@array:before")}),p.arrayContentWillChange=function(e,t,r){return(0,n.arrayContentWillChange)(this,e,t,r)},p.arrayContentDidChange=function(e,t,r){return(0,n.arrayContentDidChange)(this,e,t,r)},p.forEach=function(e){var t,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=(0,n.get)(this,"length")
-for(t=0;t<o;t++)r=this.objectAt(t),e.call(i,r,t,this)
-return this},p.getEach=(0,n.aliasMethod)("mapBy"),p.setEach=function(e,t){return this.forEach(function(r){return(0,n.set)(r,e,t)})},p.map=function(e,t){var n=I()
-return this.forEach(function(r,i,o){return n[i]=e.call(t,r,i,o)}),n},p.mapBy=function(e){return this.map(function(t){return(0,n.get)(t,e)})},p.filter=function(e,t){var n=I()
-return this.forEach(function(r,i,o){e.call(t,r,i,o)&&n.push(r)}),n},p.reject=function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},p.filterBy=function(){return this.filter(h.apply(this,arguments))},p.rejectBy=function(e,t){var r=2===arguments.length?function(r){return(0,n.get)(r,e)===t}:function(t){return!!(0,n.get)(t,e)}
-return this.reject(r)},p.find=function(e){var t,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=(0,n.get)(this,"length")
-for(t=0;t<o;t++)if(r=this.objectAt(t),e.call(i,r,t,this))return r},p.findBy=function(){return this.find(h.apply(this,arguments))},p.every=function(e,t){return!this.find(function(n,r,i){return!e.call(t,n,r,i)})},p.isEvery=function(){return this.every(h.apply(this,arguments))},p.any=function(e){var t,r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,o=(0,n.get)(this,"length")
-for(t=0;t<o;t++)if(r=this.objectAt(t),e.call(i,r,t,this))return!0
-return!1},p.isAny=function(){return this.any(h.apply(this,arguments))},p.reduce=function(e,t,n){var r=t
-return this.forEach(function(t,i){r=e(r,t,i,this,n)},this),r},p.invoke=function(e){for(t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r]
-var t,n,r,i=I()
-return this.forEach(function(t,r){var o=t&&t[e]
-"function"==typeof o&&(i[r]=n.length?o.apply(t,n):t[e]())},this),i},p.toArray=function(){var e=I()
-return this.forEach(function(t,n){return e[n]=t}),e},p.compact=function(){return this.filter(function(e){return null!=e})},p.includes=function(e,t){var r,i,o=(0,n.get)(this,"length")
-for(void 0===t&&(t=0),t<0&&(t+=o),r=t;r<o;r++)if(i=(0,n.objectAt)(this,r),e===i||e!==e&&i!==i)return!0
-return!1},p.sortBy=function(){var e=arguments
-return this.toArray().sort(function(t,r){var i,s,a,u,c
-for(i=0;i<e.length;i++)if(s=e[i],a=(0,n.get)(t,s),u=(0,n.get)(r,s),c=(0,o.default)(a,u))return c
-return 0})},p.uniq=function(){var e=I(),t=new Set
-return this.forEach(function(n){t.has(n)||(t.add(n),e.push(n))}),e},p.uniqBy=function(e){var t=I(),r=new Set
-return this.forEach(function(i){var o=(0,n.get)(i,e)
-r.has(o)||(r.add(o),t.push(i))}),t},p.without=function(e){if(!this.includes(e))return this
-var t=I()
-return this.forEach(function(n){n===e||n!==n&&e!==e||(t[t.length]=n)}),t},p["@each"]=(0,n.computed)(function(){return(0,n.eachProxyFor)(this)}).readOnly(),p)),y="Index out of range",b=[],C=n.Mixin.create(v,l.default,{replace:null,clear:function(){var e=(0,n.get)(this,"length")
-return 0===e?this:(this.replace(0,e,b),this)},insertAt:function(e,t){if(e>(0,n.get)(this,"length"))throw new r.Error(y)
-return this.replace(e,0,[t]),this},removeAt:function(e,t){return d(this,e,t)},pushObject:function(e){return this.insertAt((0,n.get)(this,"length"),e),e},pushObjects:function(e){if(!Array.isArray(e))throw new TypeError("Must pass Enumerable to MutableArray#pushObjects")
-return this.replace((0,n.get)(this,"length"),0,e),this},popObject:function(){var e=(0,n.get)(this,"length")
-if(0===e)return null
-var t=(0,n.objectAt)(this,e-1)
-return this.removeAt(e-1,1),t},shiftObject:function(){if(0===(0,n.get)(this,"length"))return null
-var e=(0,n.objectAt)(this,0)
-return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=(0,n.get)(this,"length")
-if(0===e)return this
-var t=this.toArray().reverse()
-return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear()
-var t=(0,n.get)(this,"length")
-return this.replace(0,t,e),this},removeObject:function(e){for(var t=(0,n.get)(this,"length")||0;--t>=0;)(0,n.objectAt)(this,t)===e&&this.removeAt(t)
-return this},removeObjects:function(e){var t
-for((0,n.beginPropertyChanges)(this),t=e.length-1;t>=0;t--)this.removeObject(e[t])
-return(0,n.endPropertyChanges)(this),this},addObject:function(e){return this.includes(e)||this.pushObject(e),this},addObjects:function(e){var t=this
-return(0,n.beginPropertyChanges)(this),e.forEach(function(e){return t.addObject(e)}),(0,n.endPropertyChanges)(this),this}}),A=n.Mixin.create(C,a.default,u.default,{get:function(e){return"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:g
-return(0,n.replaceInNativeArray)(this,e,t,r),this},unknownProperty:function(e,t){var n=void 0
-return void 0!==t&&void 0===n&&(n=this[e]=t),n},indexOf:Array.prototype.indexOf,lastIndexOf:Array.prototype.lastIndexOf,copy:function(e){return e?this.map(function(e){return(0,c.default)(e,!0)}):this.slice()}}),_=["length"]
-A.keys().forEach(function(e){Array.prototype[e]&&_.push(e)}),e.NativeArray=A=(f=A).without.apply(f,_)
-var I=void 0
-s.ENV.EXTEND_PROTOTYPES.Array?(A.apply(Array.prototype),e.A=I=function(e){return e||[]}):e.A=I=function(e){return e||(e=[]),v.detect(e)?e:A.apply(e)},e.A=I,e.NativeArray=A,e.MutableArray=C,e.default=v}),e("ember-runtime/lib/mixins/comparable",["exports","ember-metal"],function(e,t){"use strict"
-e.default=t.Mixin.create({compare:null})}),e("ember-runtime/lib/mixins/container_proxy",["exports","ember-metal"],function(e,t){"use strict"
-e.default=t.Mixin.create({__container__:null,ownerInjection:function(){return this.__container__.ownerInjection()},lookup:function(e,t){return this.__container__.lookup(e,t)},willDestroy:function(){this._super.apply(this,arguments),this.__container__&&(0,t.run)(this.__container__,"destroy")},factoryFor:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}
-return this.__container__.factoryFor(e,t)}})}),e("ember-runtime/lib/mixins/controller",["exports","ember-metal","ember-runtime/lib/mixins/action_handler"],function(e,t,n){"use strict"
-e.default=t.Mixin.create(n.default,{isController:!0,target:null,store:null,model:null})}),e("ember-runtime/lib/mixins/copyable",["exports","ember-metal"],function(e,t){"use strict"
-e.default=t.Mixin.create({copy:null})}),e("ember-runtime/lib/mixins/enumerable",["exports","ember-metal"],function(e,t){"use strict"
-e.default=t.Mixin.create()}),e("ember-runtime/lib/mixins/evented",["exports","ember-metal"],function(e,t){"use strict"
-e.default=t.Mixin.create({on:function(e,n,r){return(0,t.addListener)(this,e,n,r),this},one:function(e,n,r){return r||(r=n,n=null),(0,t.addListener)(this,e,n,r,!0),this},trigger:function(e){var n,r,i
-for(n=arguments.length,r=Array(n>1?n-1:0),i=1;i<n;i++)r[i-1]=arguments[i];(0,t.sendEvent)(this,e,r)},off:function(e,n,r){return(0,t.removeListener)(this,e,n,r),this},has:function(e){return(0,t.hasListeners)(this,e)}})}),e("ember-runtime/lib/mixins/mutable_enumerable",["exports","ember-runtime/lib/mixins/enumerable","ember-metal"],function(e,t,n){"use strict"
-e.default=n.Mixin.create(t.default)}),e("ember-runtime/lib/mixins/observable",["exports","ember-metal","ember-debug"],function(e,t,n){"use strict"
-e.default=t.Mixin.create({get:function(e){return(0,t.get)(this,e)},getProperties:function(){var e,n,r
-for(e=arguments.length,n=Array(e),r=0;r<e;r++)n[r]=arguments[r]
-return t.getProperties.apply(void 0,[this].concat(n))},set:function(e,n){return(0,t.set)(this,e,n)},setProperties:function(e){return(0,t.setProperties)(this,e)},beginPropertyChanges:function(){return(0,t.beginPropertyChanges)(),this},endPropertyChanges:function(){return(0,t.endPropertyChanges)(),this},propertyWillChange:function(e){return(0,t.propertyWillChange)(this,e),this},propertyDidChange:function(e){return(0,t.propertyDidChange)(this,e),this},notifyPropertyChange:function(e){return(0,t.notifyPropertyChange)(this,e),this},addObserver:function(e,n,r){return(0,t.addObserver)(this,e,n,r),this},removeObserver:function(e,n,r){return(0,t.removeObserver)(this,e,n,r),this},hasObserverFor:function(e){return(0,t.hasListeners)(this,e+":change")},getWithDefault:function(e,n){return(0,t.getWithDefault)(this,e,n)},incrementProperty:function(e,n){return(0,t.isNone)(n)&&(n=1),(0,t.set)(this,e,(parseFloat((0,t.get)(this,e))||0)+n)},decrementProperty:function(e,n){return(0,t.isNone)(n)&&(n=1),(0,t.set)(this,e,((0,t.get)(this,e)||0)-n)},toggleProperty:function(e){return(0,t.set)(this,e,!(0,t.get)(this,e))},cacheFor:function(e){return(0,t.getCachedValueFor)(this,e)}})}),e("ember-runtime/lib/mixins/promise_proxy",["exports","ember-metal","ember-debug","ember-runtime/lib/computed/computed_macros"],function(e,t,n,r){"use strict"
-function i(e,n){return(0,t.setProperties)(e,{isFulfilled:!1,isRejected:!1}),n.then(function(n){return e.isDestroyed||e.isDestroying||(0,t.setProperties)(e,{content:n,isFulfilled:!0}),n},function(n){throw e.isDestroyed||e.isDestroying||(0,t.setProperties)(e,{reason:n,isRejected:!0}),n},"Ember: PromiseProxy")}function o(e){return function(){var n=(0,t.get)(this,"promise")
-return n[e].apply(n,arguments)}}e.default=t.Mixin.create({reason:null,isPending:(0,r.not)("isSettled").readOnly(),isSettled:(0,r.or)("isRejected","isFulfilled").readOnly(),isRejected:!1,isFulfilled:!1,promise:(0,t.computed)({get:function(){throw new n.Error("PromiseProxy's promise must be set")},set:function(e,t){return i(this,t)}}),then:o("then"),catch:o("catch"),finally:o("finally")})}),e("ember-runtime/lib/mixins/registry_proxy",["exports","ember-debug","ember-metal"],function(e,t,n){"use strict"
-function r(e){return function(){var t
-return(t=this.__registry__)[e].apply(t,arguments)}}e.default=n.Mixin.create({__registry__:null,resolveRegistration:function(e,t){return this.__registry__.resolve(e,t)},register:r("register"),unregister:r("unregister"),hasRegistration:r("has"),registeredOption:r("getOption"),registerOptions:r("options"),registeredOptions:r("getOptions"),registerOptionsForType:r("optionsForType"),registeredOptionsForType:r("getOptionsForType"),inject:r("injection")})}),e("ember-runtime/lib/mixins/target_action_support",["exports","ember-environment","ember-metal","ember-debug"],function(e,t,n,r){"use strict"
-function i(e){var r,i=(0,n.get)(e,"target")
-return i?"string"==typeof i?(r=(0,n.get)(e,i),void 0===r&&(r=(0,n.get)(t.context.lookup,i)),r):i:i||(e._targetObject?e._targetObject:null)}e.default=n.Mixin.create({target:null,targetObject:(0,n.descriptor)({configurable:!0,enumerable:!1,get:function(){return this._targetObject},set:function(e){this._targetObject=e}}),action:null,actionContext:null,actionContextObject:(0,n.computed)("actionContext",function(){var e,r=(0,n.get)(this,"actionContext")
-return"string"==typeof r?(e=(0,n.get)(this,r),void 0===e&&(e=(0,n.get)(t.context.lookup,r)),e):r}),triggerAction:function(){var e,t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=r.action,s=r.target,a=r.actionContext
-return o=o||(0,n.get)(this,"action"),s=s||i(this),void 0===a&&(a=(0,n.get)(this,"actionContextObject")||this),!(!s||!o||(void 0,!1===(s.send?(e=s).send.apply(e,[o].concat(a)):(t=s)[o].apply(t,[].concat(a)))))}})}),e("ember-runtime/lib/string_registry",["exports"],function(e){"use strict"
-function t(){return r}function n(e){return r[e]}e.setStrings=function(e){r=e},e.getStrings=t,e.get=n
-var r={}}),e("ember-runtime/lib/system/array_proxy",["exports","ember-metal","ember-runtime/lib/utils","ember-runtime/lib/system/object","ember-runtime/lib/mixins/array","ember-debug"],function(e,t,n,r,i,o){"use strict"
-var s,a={willChange:"_arrangedContentArrayWillChange",didChange:"_arrangedContentArrayDidChange"}
-e.default=r.default.extend(i.MutableArray,(s={init:function(){this._super.apply(this,arguments),this._objectsDirtyIndex=0,this._objects=null,this._lengthDirty=!0,this._length=0,this._arrangedContent=null,this._addArrangedContentArrayObsever()},willDestroy:function(){this._removeArrangedContentArrayObsever()},content:null,arrangedContent:(0,t.alias)("content"),objectAtContent:function(e){return(0,t.objectAt)((0,t.get)(this,"arrangedContent"),e)},replace:function(e,t,n){this.replaceContent(e,t,n)},replaceContent:function(e,n,r){(0,t.get)(this,"content").replace(e,n,r)},objectAt:function(e){var n,r,i
-if(null===this._objects&&(this._objects=[]),-1!==this._objectsDirtyIndex&&e>=this._objectsDirtyIndex){if(n=(0,t.get)(this,"arrangedContent"))for(r=this._objects.length=(0,t.get)(n,"length"),i=this._objectsDirtyIndex;i<r;i++)this._objects[i]=this.objectAtContent(i)
-else this._objects.length=0
-this._objectsDirtyIndex=-1}return this._objects[e]},length:(0,t.computed)(function(){var e
-return this._lengthDirty&&(e=(0,t.get)(this,"arrangedContent"),this._length=e?(0,t.get)(e,"length"):0,this._lengthDirty=!1),this._length}).volatile()},s[t.PROPERTY_DID_CHANGE]=function(e){var n,r,i
-"arrangedContent"===e&&(n=null===this._objects?0:this._objects.length,r=(0,t.get)(this,"arrangedContent"),i=r?(0,t.get)(r,"length"):0,this._removeArrangedContentArrayObsever(),this.arrayContentWillChange(0,n,i),this._objectsDirtyIndex=0,this._lengthDirty=!0,this.arrayContentDidChange(0,n,i),this._addArrangedContentArrayObsever())},s._addArrangedContentArrayObsever=function(){var e=(0,t.get)(this,"arrangedContent")
-e&&((0,t.addArrayObserver)(e,this,a),this._arrangedContent=e)},s._removeArrangedContentArrayObsever=function(){this._arrangedContent&&(0,t.removeArrayObserver)(this._arrangedContent,this,a)},s._arrangedContentArrayWillChange=function(){},s._arrangedContentArrayDidChange=function(e,n,r,i){this.arrayContentWillChange(n,r,i)
-var o,s=n
-s<0&&(o=(0,t.get)(this._arrangedContent,"length"),s+=o+r-i),-1===this._objectsDirtyIndex?this._objectsDirtyIndex=s:this._objectsDirtyIndex>s&&(this._objectsDirtyIndex=s),this._lengthDirty=!0,this.arrayContentDidChange(n,r,i)},s))}),e("ember-runtime/lib/system/core_object",["exports","ember-babel","container","ember-utils","ember-metal","ember-runtime/lib/mixins/action_handler","ember-runtime/lib/inject","ember-debug","ember-environment"],function(e,t,n,r,i,o,s,a,u){"use strict"
-function c(e){var o,s=!1,a=void 0
-return e?a=function(e){function n(n){return s||a.proto(),(0,t.possibleConstructorReturn)(this,e.call(this,n))}return(0,t.inherits)(n,e),n}(e):(o=void 0,a=function(){function e(e){var t,c,l,h,d,p,f,g,m,v,y,b
-s||a.proto()
-var C=this
-void 0!==o&&(n.FACTORY_FOR.set(this,o),o=void 0)
-var A=(0,i.meta)(C),_=A.proto
-if(A.proto=C,void 0!==e)for(c=C.concatenatedProperties,l=C.mergedProperties,h=void 0!==c&&c.length>0,d=void 0!==l&&l.length>0,p=Object.keys(e),f=0;f<p.length;f++)g=p[f],m=e[g],u.ENV._ENABLE_BINDING_SUPPORT&&i.Mixin.detectBinding(g)&&A.writeBindings(g,m),v=(0,i.descriptorFor)(C,g,A),y=void 0!==v,y||(b=C[g],h&&c.indexOf(g)>-1&&(m=b?(0,r.makeArray)(b).concat(m):(0,r.makeArray)(m)),d&&l.indexOf(g)>-1&&(m=(0,r.assign)({},b,m))),y?v.set(C,g,m):"function"!=typeof C.setUnknownProperty||g in C?C[g]=m:C.setUnknownProperty(g,m)
-u.ENV._ENABLE_BINDING_SUPPORT&&i.Mixin.finishPartial(C,A),(t=C).init.apply(t,arguments),A.proto=_,(0,i.finishChains)(A),(0,i.sendEvent)(C,"init",void 0,void 0,void 0,A)}return e._initFactory=function(e){o=e},e}()),a.willReopen=function(){s&&(a.PrototypeMixin=i.Mixin.create(a.PrototypeMixin)),s=!1},a.proto=function(){var e=a.superclass
-return e&&e.proto(),s||(s=!0,a.PrototypeMixin.applyPartial(a.prototype)),this.prototype},a}function l(){var e,t,n,i,o,s,a,u,c,l,h,d,p=this.concatenatedProperties,f=this.mergedProperties,g=void 0!==p&&p.length>0,m=void 0!==f&&f.length>0,v={}
-for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-for(i=0;i<t.length;i++)for(o=t[i],s=Object.keys(o),a=0,u=s.length;a<u;a++)c=s[a],l=o[c],g&&p.indexOf(c)>-1&&(h=v[c],l=h?(0,r.makeArray)(h).concat(l):(0,r.makeArray)(l)),m&&f.indexOf(c)>-1&&(d=v[c],l=(0,r.assign)({},d,l)),v[c]=l
-return v}var h=i.Mixin._apply,d=i.Mixin.prototype.reopen,p=(0,i.descriptor)({configurable:!0,enumerable:!1,get:function(){return(0,i.peekMeta)(this).isSourceDestroyed()},set:function(e){}}),f=(0,i.descriptor)({configurable:!0,enumerable:!1,get:function(){return(0,i.peekMeta)(this).isSourceDestroying()},set:function(e){}}),g=c()
-g.prototype.toString=i.classToString,g.toString=i.classToString,(0,r.setName)(g,"Ember.CoreObject"),g.PrototypeMixin=i.Mixin.create({reopen:function(){var e,t,n
-for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-return h(this,t,!0),this},init:function(){},concatenatedProperties:null,mergedProperties:null,isDestroyed:p,isDestroying:f,destroy:function(){var e=(0,i.peekMeta)(this)
-if(!e.isSourceDestroying())return e.setSourceDestroying(),(0,i.schedule)("actions",this,this.willDestroy),(0,i.schedule)("destroy",this,this._scheduledDestroy,e),this},willDestroy:function(){},_scheduledDestroy:function(e){e.isSourceDestroyed()||((0,i.deleteMeta)(this),e.setSourceDestroyed())},toString:function(){var e="function"==typeof this.toStringExtension,t=e?":"+this.toStringExtension():""
-return"<"+((0,r.getName)(this)||n.FACTORY_FOR.get(this)||this.constructor.toString())+":"+(0,r.guidFor)(this)+t+">"}}),g.PrototypeMixin.ownerConstructor=g,g.__super__=null
-var m=i.Mixin.create({isClass:!0,isMethod:!1,extend:function(){var e=c(this)
-e.ClassMixin=i.Mixin.create(this.ClassMixin),e.PrototypeMixin=i.Mixin.create(this.PrototypeMixin),e.ClassMixin.ownerConstructor=e,e.PrototypeMixin.ownerConstructor=e,d.apply(e.PrototypeMixin,arguments),e.superclass=this,e.__super__=this.prototype
-var t=e.prototype
-return(0,i.meta)(t).proto=t,e.ClassMixin.apply(e),e},create:function(e,t){var n=this
-return new n(void 0===t?e:l.apply(this,arguments))},reopen:function(){return this.willReopen(),d.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return d.apply(this.ClassMixin,arguments),h(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1
-for(;e;){if(e===this)return!0
-e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=this.proto(),n=(0,i.descriptorFor)(t,e)
-return n._meta||{}},eachComputedProperty:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this
-this.proto()
-var n={};(0,i.meta)(this.prototype).forEachDescriptors(function(r,i){var o
-i.enumerable&&(o=i._meta||n,e.call(t,r,o))})}})
-m.ownerConstructor=g,g.ClassMixin=m,m.apply(g),e.default=g}),e("ember-runtime/lib/system/lazy_load",["exports","ember-environment"],function(e,t){"use strict"
-e._loaded=void 0,e.onLoad=function(e,t){var i=r[e]
-n[e]=n[e]||[],n[e].push(t),i&&t(i)},e.runLoadHooks=function(e,i){r[e]=i
-var o,s=t.environment.window
-s&&"function"==typeof CustomEvent&&(o=new CustomEvent(e,{detail:i,name:e}),s.dispatchEvent(o)),n[e]&&n[e].forEach(function(e){return e(i)})}
-var n=t.ENV.EMBER_LOAD_HOOKS||{},r={}
-e._loaded=r}),e("ember-runtime/lib/system/namespace",["exports","ember-metal","ember-utils","ember-runtime/lib/system/object"],function(e,t,n,r){"use strict"
-var i=r.default.extend({isNamespace:!0,init:function(){(0,t.addNamespace)(this)},toString:function(){var e=(0,t.get)(this,"name")||(0,t.get)(this,"modulePrefix")
-return e||((0,t.findNamespaces)(),e=(0,n.getName)(this),void 0===e&&(e=(0,n.guidFor)(this),(0,n.setName)(this,e)),e)},nameClasses:function(){(0,t.processNamespace)(this)},destroy:function(){(0,t.removeNamespace)(this),this._super.apply(this,arguments)}})
-i.reopenClass({NAMESPACES:t.NAMESPACES,NAMESPACES_BY_ID:t.NAMESPACES_BY_ID,processAll:t.processAllNamespaces,byName:t.findNamespace}),e.default=i}),e("ember-runtime/lib/system/object",["exports","container","ember-utils","ember-metal","ember-runtime/lib/system/core_object","ember-runtime/lib/mixins/observable","ember-debug"],function(e,t,n,r,i,o){"use strict"
-e.FrameworkObject=void 0
-var s,a=(0,n.symbol)("OVERRIDE_OWNER"),u=i.default.extend(o.default,(s={_debugContainerKey:(0,r.descriptor)({enumerable:!1,get:function(){var e=t.FACTORY_FOR.get(this)
-return void 0!==e&&e.fullName}})},s[n.OWNER]=(0,r.descriptor)({enumerable:!1,get:function(){if(this[a])return this[a]
-var e=t.FACTORY_FOR.get(this)
-return void 0!==e&&e.owner},set:function(e){this[a]=e}}),s));(0,n.setName)(u,"Ember.Object"),e.FrameworkObject=u,e.default=u}),e("ember-runtime/lib/system/object_proxy",["exports","ember-runtime/lib/system/object","ember-runtime/lib/mixins/-proxy"],function(e,t,n){"use strict"
-e.default=t.default.extend(n.default)}),e("ember-runtime/lib/system/service",["exports","ember-runtime/lib/system/object","ember-runtime/lib/inject"],function(e,t,n){"use strict";(0,n.createInjectionHelper)("service")
-var r=t.default.extend()
-r.reopenClass({isServiceFactory:!0}),e.default=r})
-e("ember-runtime/lib/system/string",["exports","ember-metal","ember-utils","ember-runtime/lib/utils","ember-runtime/lib/string_registry"],function(e,t,n,r,i){"use strict"
-function o(e,t){var i,o=t
-if(!(0,r.isArray)(o)||arguments.length>2)for(o=new Array(arguments.length-1),i=1;i<arguments.length;i++)o[i-1]=arguments[i]
-var s=0
-return e.replace(/%@([0-9]+)?/g,function(e,t){return t=t?parseInt(t,10)-1:s++,e=o[t],null===e?"(null)":void 0===e?"":(0,n.inspect)(e)})}function s(e,t){return(!(0,r.isArray)(t)||arguments.length>2)&&(t=Array.prototype.slice.call(arguments,1)),e=(0,i.get)(e)||e,o(e,t)}function a(e){return e.split(/\s+/)}function u(e){return S.get(e)}function c(e){return g.get(e)}function l(e){return y.get(e)}function h(e){return _.get(e)}function d(e){return x.get(e)}function p(e){return j.get(e)}e.capitalize=e.underscore=e.classify=e.camelize=e.dasherize=e.decamelize=e.w=e.loc=void 0
-var f=/[ _]/g,g=new t.Cache(1e3,function(e){return u(e).replace(f,"-")}),m=/(\-|\_|\.|\s)+(.)?/g,v=/(^|\/)([A-Z])/g,y=new t.Cache(1e3,function(e){return e.replace(m,function(e,t,n){return n?n.toUpperCase():""}).replace(v,function(e){return e.toLowerCase()})}),b=/^(\-|_)+(.)?/,C=/(.)(\-|\_|\.|\s)+(.)?/g,A=/(^|\/|\.)([a-z])/g,_=new t.Cache(1e3,function(e){var t,n=function(e,t,n){return n?"_"+n.toUpperCase():""},r=function(e,t,n,r){return t+(r?r.toUpperCase():"")},i=e.split("/")
-for(t=0;t<i.length;t++)i[t]=i[t].replace(b,n).replace(C,r)
-return i.join("/").replace(A,function(e){return e.toUpperCase()})}),I=/([a-z\d])([A-Z]+)/g,w=/\-|\s+/g,x=new t.Cache(1e3,function(e){return e.replace(I,"$1_$2").replace(w,"_").toLowerCase()}),k=/(^|\/)([a-z\u00C0-\u024F])/g,j=new t.Cache(1e3,function(e){return e.replace(k,function(e){return e.toUpperCase()})}),E=/([a-z\d])([A-Z])/g,S=new t.Cache(1e3,function(e){return e.replace(E,"$1_$2").toLowerCase()})
-e.default={loc:s,w:a,decamelize:u,dasherize:c,camelize:l,classify:h,underscore:d,capitalize:p},e.loc=s,e.w=a,e.decamelize=u,e.dasherize=c,e.camelize=l,e.classify=h,e.underscore=d,e.capitalize=p}),e("ember-runtime/lib/utils",["exports","ember-metal","ember-utils","ember-runtime/lib/mixins/array","ember-runtime/lib/system/object"],function(e,t,n,r,i){"use strict"
-function o(e){if(null===e)return"null"
-if(void 0===e)return"undefined"
-var t=s[a.call(e)]||"object"
-return"function"===t?i.default.detect(e)&&(t="class"):"object"===t&&(e instanceof Error?t="error":e instanceof i.default?t="instance":e instanceof Date&&(t="date")),t}e.isArray=function(e){var t=e
-if(!t||t.setInterval)return!1
-if(Array.isArray(t))return!0
-if(r.default.detect(t))return!0
-var n=o(t)
-if("array"===n)return!0
-var i=t.length
-return"number"==typeof i&&i===i&&"object"===n},e.typeOf=o
-var s={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object","[object FileList]":"filelist"},a=Object.prototype.toString}),e("ember-utils",["exports"],function(e){"use strict"
-function t(e){var t={}
-t[e]=1
-for(var n in t)if(n===e)return n
-return e}function n(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function r(){return++d}function i(e){var n=g+Math.floor(Math.random()*new Date),r=t("__"+e+n+"__")
-return m.push(r),r}function o(e){var t,n,r,i,o
-for(t=1;t<arguments.length;t++)if(n=arguments[t])for(r=Object.keys(n),i=0;i<r.length;i++)o=r[i],e[o]=n[o]
-return e}function s(){}function a(e){return void 0===e.__hasSuper&&(e.__hasSuper=A(e)),e.__hasSuper}function u(e,t){function n(){var n=this._super
-this._super=t
-var r=e.apply(this,arguments)
-return this._super=n,r}return n.wrappedFunction=e,n.__ember_observes__=e.__ember_observes__,n.__ember_listens__=e.__ember_listens__,n}function c(e,t){return null!==e&&void 0!==e&&"function"==typeof e[t]}function l(e){return null===e||void 0===e}function h(e){var t,n,r
-if("string"==typeof e)return e
-if(Array.isArray(e)){for(t=e.length,n="",r=0;r<t;r++)r>0&&(n+=","),l(e[r])||(n+=h(e[r]))
-return n}return null!=e&&"function"==typeof e.toString?e.toString():x.call(e)}e.setProxy=e.isProxy=e.WeakSet=e.HAS_NATIVE_PROXY=e.HAS_NATIVE_SYMBOL=e.toString=e.setName=e.getName=e.makeArray=e.tryInvoke=e.canInvoke=e.lookupDescriptor=e.inspect=e.wrap=e.ROOT=e.checkHasSuper=e.intern=e.guidFor=e.generateGuid=e.GUID_KEY=e.uuid=e.dictionary=e.assignPolyfill=e.assign=e.OWNER=e.setOwner=e.getOwner=e.isInternalSymbol=e.symbol=e.NAME_KEY=void 0
-var d=0,p=new WeakMap,f=new Map,g=t("__ember"+ +new Date),m=[],v=i("OWNER"),y=Object.assign,b=/\.(_super|call\(this|apply\(this)/,C=Function.prototype.toString,A=function(){return C.call(function(){return this}).indexOf("return this")>-1?function(e){return b.test(C.call(e))}:function(){return!0}}()
-s.__hasSuper=!1
-var _=Object.prototype.toString,I=Array.isArray,w=new WeakMap,x=Object.prototype.toString,k=function(){return"function"==typeof Symbol&&"[object Symbol]"===Object.prototype.toString.call(Symbol())}(),j="function"==typeof Proxy,E="function"==typeof WeakSet?WeakSet:function(){function e(){this._map=new WeakMap}return e.prototype.add=function(e){return this._map.set(e,!0),this},e.prototype.delete=function(e){return this._map.delete(e)},e.prototype.has=function(e){return this._map.has(e)},e}(),S=new E,T=i("NAME_KEY")
-e.NAME_KEY=T,e.symbol=i,e.isInternalSymbol=function(e){return m.indexOf(e)>-1},e.getOwner=function(e){return e[v]},e.setOwner=function(e,t){e[v]=t},e.OWNER=v,e.assign=y||o,e.assignPolyfill=o,e.dictionary=function(e){var t=Object.create(e)
-return t._dict=null,delete t._dict,t},e.uuid=r,e.GUID_KEY=g,e.generateGuid=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ember",i=t+r()
-return n(e)&&p.set(e,i),i},e.guidFor=function(e){var t,i=void 0
-return n(e)?void 0===(i=p.get(e))&&(i="ember"+r(),p.set(e,i)):void 0===(i=f.get(e))&&(t=typeof e,i="string"===t?"st"+r():"number"===t?"nu"+r():"symbol"===t?"sy"+r():"("+e+")",f.set(e,i)),i},e.intern=t,e.checkHasSuper=A,e.ROOT=s,e.wrap=function(e,t){return a(e)?!t.wrappedFunction&&a(t)?u(e,u(t,s)):u(e,t):e},e.inspect=function(e){if(null===e)return"null"
-if(void 0===e)return"undefined"
-if(Array.isArray(e))return"["+e+"]"
-var t=typeof e
-if("object"!==t&&"symbol"!==t)return""+e
-if("function"==typeof e.toString&&e.toString!==_)return e.toString()
-var n=void 0,r=[]
-for(var i in e)if(e.hasOwnProperty(i)){if("toString"===(n=e[i]))continue
-"function"==typeof n&&(n="function() { ... }"),n&&"function"!=typeof n.toString?r.push(i+": "+_.call(n)):r.push(i+": "+n)}return"{"+r.join(", ")+"}"},e.lookupDescriptor=function(e,t){for(var n,r=e;r;){if(n=Object.getOwnPropertyDescriptor(r,t))return n
-r=Object.getPrototypeOf(r)}return null},e.canInvoke=c,e.tryInvoke=function(e,t,n){var r
-if(c(e,t))return r=e[t],r.apply(e,n)},e.makeArray=function(e){return null===e||void 0===e?[]:I(e)?e:[e]},e.getName=function(e){return w.get(e)},e.setName=function(e,t){(null!==e&&"object"==typeof e||"function"==typeof e)&&w.set(e,t)},e.toString=h,e.HAS_NATIVE_SYMBOL=k,e.HAS_NATIVE_PROXY=j,e.WeakSet=E,e.isProxy=function(e){return S.has(e)},e.setProxy=function(e){return S.add(e)}}),e("ember-views/index",["exports","ember-views/lib/system/jquery","ember-views/lib/system/utils","ember-views/lib/system/event_dispatcher","ember-views/lib/component_lookup","ember-views/lib/mixins/text_support","ember-views/lib/views/core_view","ember-views/lib/mixins/class_names_support","ember-views/lib/mixins/child_views_support","ember-views/lib/mixins/view_state_support","ember-views/lib/mixins/view_support","ember-views/lib/mixins/action_support","ember-views/lib/compat/attrs","ember-views/lib/system/lookup_partial","ember-views/lib/utils/lookup-component","ember-views/lib/system/action_manager","ember-views/lib/compat/fallback-view-registry"],function(e,t,n,r,i,o,s,a,u,c,l,h,d,p,f,g,m){"use strict"
-Object.defineProperty(e,"jQuery",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"jQueryDisabled",{enumerable:!0,get:function(){return t.jQueryDisabled}}),Object.defineProperty(e,"addChildView",{enumerable:!0,get:function(){return n.addChildView}}),Object.defineProperty(e,"isSimpleClick",{enumerable:!0,get:function(){return n.isSimpleClick}}),Object.defineProperty(e,"getViewBounds",{enumerable:!0,get:function(){return n.getViewBounds}}),Object.defineProperty(e,"getViewClientRects",{enumerable:!0,get:function(){return n.getViewClientRects}}),Object.defineProperty(e,"getViewBoundingClientRect",{enumerable:!0,get:function(){return n.getViewBoundingClientRect}}),Object.defineProperty(e,"getRootViews",{enumerable:!0,get:function(){return n.getRootViews}}),Object.defineProperty(e,"getChildViews",{enumerable:!0,get:function(){return n.getChildViews}}),Object.defineProperty(e,"getViewId",{enumerable:!0,get:function(){return n.getViewId}}),Object.defineProperty(e,"getViewElement",{enumerable:!0,get:function(){return n.getViewElement}}),Object.defineProperty(e,"setViewElement",{enumerable:!0,get:function(){return n.setViewElement}}),Object.defineProperty(e,"constructStyleDeprecationMessage",{enumerable:!0,get:function(){return n.constructStyleDeprecationMessage}}),Object.defineProperty(e,"EventDispatcher",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"ComponentLookup",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"TextSupport",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"CoreView",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(e,"ClassNamesSupport",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(e,"ChildViewsSupport",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(e,"ViewStateSupport",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(e,"ViewMixin",{enumerable:!0,get:function(){return l.default}}),Object.defineProperty(e,"ActionSupport",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(e,"MUTABLE_CELL",{enumerable:!0,get:function(){return d.MUTABLE_CELL}}),Object.defineProperty(e,"lookupPartial",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(e,"hasPartial",{enumerable:!0,get:function(){return p.hasPartial}}),Object.defineProperty(e,"lookupComponent",{enumerable:!0,get:function(){return f.default}}),Object.defineProperty(e,"ActionManager",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(e,"fallbackViewRegistry",{enumerable:!0,get:function(){return m.default}})}),e("ember-views/lib/compat/attrs",["exports","ember-utils"],function(e,t){"use strict"
-e.MUTABLE_CELL=void 0,e.MUTABLE_CELL=(0,t.symbol)("MUTABLE_CELL")}),e("ember-views/lib/compat/fallback-view-registry",["exports","ember-utils"],function(e,t){"use strict"
-e.default=(0,t.dictionary)(null)}),e("ember-views/lib/component_lookup",["exports","ember-debug","ember-runtime"],function(e,t,n){"use strict"
-e.default=n.Object.extend({componentFor:function(e,t,n){return t.factoryFor("component:"+e,n)},layoutFor:function(e,t,n){return t.lookup("template:components/"+e,n)}})}),e("ember-views/lib/mixins/action_support",["exports","ember-utils","ember-metal","ember-debug","ember-views/lib/compat/attrs"],function(e,t,n,r,i){"use strict"
-function o(e,t){return t&&t[i.MUTABLE_CELL]&&(t=t.value),t}e.default=n.Mixin.create({sendAction:function(e){for(t=arguments.length,r=Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i]
-var t,r,i,s=void 0
-void 0===e&&(e="action"),s=(0,n.get)(this,"attrs."+e)||(0,n.get)(this,e),void 0!==(s=o(this,s))&&("function"==typeof s?s.apply(void 0,r):this.triggerAction({action:s,actionContext:r}))},send:function(e){for(t=arguments.length,r=Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i]
-var t,r,i,o=this.actions&&this.actions[e]
-if(!o||!0===o.apply(this,r)){var s=(0,n.get)(this,"target")
-s&&s.send.apply(s,arguments)}}})}),e("ember-views/lib/mixins/child_views_support",["exports","ember-metal","ember-views/lib/system/utils"],function(e,t,n){"use strict"
-e.default=t.Mixin.create({childViews:(0,t.descriptor)({configurable:!1,enumerable:!1,get:function(){return(0,n.getChildViews)(this)}}),appendChild:function(e){(0,n.addChildView)(this,e)}})}),e("ember-views/lib/mixins/class_names_support",["exports","ember-metal","ember-debug"],function(e,t,n){"use strict"
-var r=Object.freeze([])
-e.default=t.Mixin.create({concatenatedProperties:["classNames","classNameBindings"],init:function(){this._super.apply(this,arguments)},classNames:r,classNameBindings:r})}),e("ember-views/lib/mixins/text_support",["exports","ember-metal","ember-runtime"],function(e,t,n){"use strict"
-function r(e,n,r){var i=(0,t.get)(n,"attrs."+e)||(0,t.get)(n,e),o=(0,t.get)(n,"value")
-n.sendAction(e,o),i&&!(0,t.get)(n,"bubbles")&&r.stopPropagation()}var i={13:"insertNewline",27:"cancel"}
-e.default=t.Mixin.create(n.TargetActionSupport,{value:"",attributeBindings:["autocapitalize","autocorrect","autofocus","disabled","form","maxlength","minlength","placeholder","readonly","required","selectionDirection","spellcheck","tabindex","title"],placeholder:null,disabled:!1,maxlength:null,init:function(){this._super.apply(this,arguments),this.on("paste",this,this._elementValueDidChange),this.on("cut",this,this._elementValueDidChange),this.on("input",this,this._elementValueDidChange)},bubbles:!1,interpretKeyEvents:function(e){var t=i[e.keyCode]
-if(this._elementValueDidChange(),t)return this[t](e)},_elementValueDidChange:function(){(0,t.set)(this,"value",this.element.value)},change:function(e){this._elementValueDidChange(e)},insertNewline:function(e){r("enter",this,e),r("insert-newline",this,e)},cancel:function(e){r("escape-press",this,e)},focusIn:function(e){r("focus-in",this,e)},focusOut:function(e){this._elementValueDidChange(e),r("focus-out",this,e)},keyPress:function(e){r("key-press",this,e)},keyUp:function(e){this.interpretKeyEvents(e),this.sendAction("key-up",(0,t.get)(this,"value"),e)},keyDown:function(e){this.sendAction("key-down",(0,t.get)(this,"value"),e)}})}),e("ember-views/lib/mixins/view_state_support",["exports","ember-metal"],function(e,t){"use strict"
-e.default=t.Mixin.create({_transitionTo:function(e){var t=this._currentState,n=this._currentState=this._states[e]
-this._state=e,t&&t.exit&&t.exit(this),n.enter&&n.enter(this)}})}),e("ember-views/lib/mixins/view_support",["exports","ember-utils","ember-metal","ember-debug","ember-environment","ember-views/lib/system/utils","ember-views/lib/system/jquery"],function(e,t,n,r,i,o,s){"use strict"
-function a(){return this}e.default=n.Mixin.create({concatenatedProperties:["attributeBindings"],nearestOfType:function(e){for(var t=this.parentView,r=e instanceof n.Mixin?function(t){return e.detect(t)}:function(t){return e.detect(t.constructor)};t;){if(r(t))return t
-t=t.parentView}},nearestWithProperty:function(e){for(var t=this.parentView;t;){if(e in t)return t
-t=t.parentView}},rerender:function(){return this._currentState.rerender(this)},element:(0,n.descriptor)({configurable:!1,enumerable:!1,get:function(){return this.renderer.getElement(this)}}),$:function(e){if(this.element)return e?(0,s.default)(e,this.element):(0,s.default)(this.element)},appendTo:function(e){var t=this._environment||i.environment,n=void 0
-return n=t.hasDOM&&"string"==typeof e?document.querySelector(e):e,this.renderer.appendTo(this,n),this},append:function(){return this.appendTo(document.body)},elementId:null,findElementInParentElement:function(e){var t="#"+this.elementId
-return(0,s.default)(t)[0]||(0,s.default)(t,e)[0]},willInsertElement:a,didInsertElement:a,willClearRender:a,destroy:function(){this._super.apply(this,arguments),this._currentState.destroy(this)},willDestroyElement:a,parentViewDidChange:a,tagName:null,init:function(){this._super.apply(this,arguments),this.elementId||""===this.tagName||(this.elementId=(0,t.guidFor)(this)),i.environment._ENABLE_DID_INIT_ATTRS_SUPPORT},handleEvent:function(e,t){return this._currentState.handleEvent(this,e,t)}})}),e("ember-views/lib/system/action_manager",["exports"],function(e){"use strict"
-function t(){}e.default=t,t.registeredActions={}}),e("ember-views/lib/system/event_dispatcher",["exports","ember-utils","ember-debug","ember-metal","ember-runtime","ember-views/lib/system/jquery","ember-views/lib/system/action_manager","ember-views/lib/compat/fallback-view-registry"],function(e,t,n,r,i,o,s,a){"use strict"
-var u=void 0!==o.default
-e.default=i.Object.extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",init:function(){this._super(),this._eventHandlers=Object.create(null)},setup:function(e,n){var i=void 0,s=void 0,a=this._finalEvents=(0,t.assign)({},(0,r.get)(this,"events"),e);(0,r.isNone)(n)||(0,r.set)(this,"rootElement",n)
-var c=(0,r.get)(this,"rootElement")
-if(u){if(s=(0,o.default)(c),s.addClass("ember-application"),!s.is(".ember-application"))throw new TypeError("Unable to add 'ember-application' class to root element ("+(s.selector||s[0].tagName)+"). Make sure you set rootElement to the body or an element in the body.")}else s="string"!=typeof c?c:document.querySelector(c),s.classList.add("ember-application")
-var l=this._getViewRegistry()
-for(i in a)a.hasOwnProperty(i)&&this.setupHandler(s,i,a[i],l)},setupHandler:function(e,t,n,r){var i,o,a
-null!==n&&(u?(e.on(t+".ember",".ember-view",function(e){var t=r[this.id],i=!0
-return t&&(i=t.handleEvent(n,e)),i}),e.on(t+".ember","[data-ember-action]",function(e){var t,r,i,o,a=e.currentTarget.attributes,u=[]
-for(t=0;t<a.length;t++)r=a.item(t),i=r.name,-1!==i.lastIndexOf("data-ember-action-",0)&&(o=s.default.registeredActions[r.value])&&o.eventName===n&&-1===u.indexOf(o)&&(o.handler(e),u.push(o))})):(i=function(e,t){var i=r[e.id],o=!0
-return i&&(o=i.handleEvent(n,t)),o},o=function(e,t){var r,i,o,a,u,c,l,h=e.getAttribute("data-ember-action"),d=s.default.registeredActions[h]
-if(""===h)for(r=e.attributes,i=r.length,d=[],o=0;o<i;o++)a=r.item(o),u=a.name,0===u.indexOf("data-ember-action-")&&(d=d.concat(s.default.registeredActions[a.value]))
-if(d)for(c=0;c<d.length;c++)if((l=d[c])&&l.eventName===n)return l.handler(t)},a=this._eventHandlers[t]=function(e){var t=e.target
-do{if(r[t.id]){if(!1===i(t,e)){e.preventDefault(),e.stopPropagation()
-break}}else if(t.hasAttribute("data-ember-action")&&!1===o(t,e))break
-t=t.parentNode}while(t&&1===t.nodeType)},e.addEventListener(t,a)))},_getViewRegistry:function(){var e=(0,t.getOwner)(this)
-return e&&e.lookup("-view-registry:main")||a.default},destroy:function(){var e=(0,r.get)(this,"rootElement"),t=void 0
-if(t=e.nodeType?e:document.querySelector(e)){if(u)(0,o.default)(e).off(".ember","**")
-else for(var n in this._eventHandlers)t.removeEventListener(n,this._eventHandlers[n])
-return t.classList.remove("ember-application"),this._super.apply(this,arguments)}},toString:function(){return"(EventDispatcher)"}})}),e("ember-views/lib/system/jquery",["exports","ember-environment"],function(e,t){"use strict"
-e.jQueryDisabled=void 0
-var n=void 0
-e.jQueryDisabled=!1
-t.environment.hasDOM&&(n=t.context.imports.jQuery,n?n.event.addProp?n.event.addProp("dataTransfer"):["dragstart","drag","dragenter","dragleave","dragover","drop","dragend"].forEach(function(e){n.event.fixHooks[e]={props:["dataTransfer"]}}):e.jQueryDisabled=!0),e.default=n}),e("ember-views/lib/system/lookup_partial",["exports","ember-debug"],function(e,t){"use strict"
-function n(e){var t=e.split("/"),n=t[t.length-1]
-return t[t.length-1]="_"+n,t.join("/")}function r(e,n,r){if(r){if(!e)throw new t.Error("Container was not found when looking up a views template. This is most likely due to manually instantiating an Ember.View. See: http://git.io/EKPpnA")
-return e.lookup("template:"+n)||e.lookup("template:"+r)}}e.default=function(e,t){if(null!=e){var i=r(t,n(e),e)
-return i}},e.hasPartial=function(e,r){if(!r)throw new t.Error("Container was not found when looking up a views template. This is most likely due to manually instantiating an Ember.View. See: http://git.io/EKPpnA")
-return r.hasRegistration("template:"+n(e))||r.hasRegistration("template:"+e)}}),e("ember-views/lib/system/utils",["exports","ember-utils"],function(e,t){"use strict"
-function n(e){return""!==e.tagName&&e.elementId?e.elementId:(0,t.guidFor)(e)}function r(e){var t=new Set
-return u.set(e,t),t}function i(e,t){var n=[],r=u.get(e)
-return void 0!==r&&r.forEach(function(e){var r=t[e]
-!r||r.isDestroying||r.isDestroyed||n.push(r)}),n}function o(e){return e.renderer.getBounds(e)}function s(e){var t=o(e),n=document.createRange()
-return n.setStartBefore(t.firstNode),n.setEndAfter(t.lastNode),n}e.elMatches=void 0,e.isSimpleClick=function(e){var t=e.shiftKey||e.metaKey||e.altKey||e.ctrlKey,n=e.which>1
-return!t&&!n},e.constructStyleDeprecationMessage=function(e){return'Binding style attributes may introduce cross-site scripting vulnerabilities; please ensure that values being bound are properly escaped. For more information, including how to disable this warning, see https://emberjs.com/deprecations/v1.x/#toc_binding-style-attributes. Style affected: "'+e+'"'},e.getRootViews=function(e){var t=e.lookup("-view-registry:main"),n=[]
-return Object.keys(t).forEach(function(e){var r=t[e]
-null===r.parentView&&n.push(r)}),n},e.getViewId=n,e.getViewElement=function(e){return e[a]},e.initViewElement=function(e){e[a]=null},e.setViewElement=function(e,t){return e[a]=t},e.getChildViews=function(e){return i(e,(0,t.getOwner)(e).lookup("-view-registry:main"))},e.initChildViews=r,e.addChildView=function(e,t){var i=u.get(e)
-void 0===i&&(i=r(e)),i.add(n(t))},e.collectChildViews=i,e.getViewBounds=o,e.getViewRange=s,e.getViewClientRects=function(e){return s(e).getClientRects()},e.getViewBoundingClientRect=function(e){return s(e).getBoundingClientRect()},e.matches=function(e,t){return c.call(e,t)}
-var a=(0,t.symbol)("VIEW_ELEMENT"),u=new WeakMap,c=e.elMatches="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector)}),e("ember-views/lib/utils/lookup-component",["exports"],function(e){"use strict"
-function t(e,t,n,r){var i=e.componentFor(n,t,r)
-return{layout:e.layoutFor(n,t,r),component:i}}e.default=function(e,n,r){var i,o=e.lookup("component-lookup:main")
-return r&&(r.source||r.namespace)&&(i=t(o,e,n,r),i.component||i.layout)?i:t(o,e,n)}}),e("ember-views/lib/views/core_view",["exports","ember-runtime","ember-views/lib/system/utils","ember-views/lib/views/states"],function(e,t,n,r){"use strict"
-var i=t.FrameworkObject.extend(t.Evented,t.ActionHandler,{isView:!0,_states:(0,r.cloneStates)(r.states),init:function(){if(this._super.apply(this,arguments),this._state="preRender",this._currentState=this._states.preRender,(0,n.initViewElement)(this),!this.renderer)throw new Error("Cannot instantiate a component without a renderer. Please ensure that you are creating "+this+" with a proper container/registry.")},parentView:null,instrumentDetails:function(e){return e.object=this.toString(),e.containerKey=this._debugContainerKey,e.view=this,e},trigger:function(e){for(t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r]
-this._super.apply(this,arguments)
-var t,n,r,i=this[e]
-if("function"==typeof i)return i.apply(this,n)},has:function(e){return"function"==typeof this[e]||this._super(e)}})
-i.reopenClass({isViewFactory:!0}),e.default=i}),e("ember-views/lib/views/states",["exports","ember-utils","ember-views/lib/views/states/default","ember-views/lib/views/states/pre_render","ember-views/lib/views/states/has_element","ember-views/lib/views/states/in_dom","ember-views/lib/views/states/destroying"],function(e,t,n,r,i,o,s){"use strict"
-e.states=void 0,e.cloneStates=function(e){var n={}
-n._default={},n.preRender=Object.create(n._default),n.destroying=Object.create(n._default),n.hasElement=Object.create(n._default),n.inDOM=Object.create(n.hasElement)
-for(var r in e)e.hasOwnProperty(r)&&(0,t.assign)(n[r],e[r])
-return n},e.states={_default:n.default,preRender:r.default,inDOM:o.default,hasElement:i.default,destroying:s.default}}),e("ember-views/lib/views/states/default",["exports","ember-debug"],function(e,t){"use strict"
-e.default={appendChild:function(){throw new t.Error("You can't use appendChild outside of the rendering process")},handleEvent:function(){return!0},rerender:function(){},destroy:function(){}}}),e("ember-views/lib/views/states/destroying",["exports","ember-utils","ember-debug","ember-views/lib/views/states/default"],function(e,t,n,r){"use strict"
-var i=Object.create(r.default);(0,t.assign)(i,{appendChild:function(){throw new n.Error("You can't call appendChild on a view being destroyed")},rerender:function(){throw new n.Error("You can't call rerender on a view being destroyed")}}),e.default=i}),e("ember-views/lib/views/states/has_element",["exports","ember-utils","ember-views/lib/views/states/default","ember-metal"],function(e,t,n,r){"use strict"
-var i=Object.create(n.default);(0,t.assign)(i,{rerender:function(e){e.renderer.rerender(e)},destroy:function(e){e.renderer.remove(e)},handleEvent:function(e,t,n){return!e.has(t)||(0,r.flaggedInstrument)("interaction."+t,{event:n,view:e},function(){return(0,r.join)(e,e.trigger,t,n)})}}),e.default=i}),e("ember-views/lib/views/states/in_dom",["exports","ember-utils","ember-metal","ember-debug","ember-views/lib/views/states/has_element"],function(e,t,n,r,i){"use strict"
-var o=Object.create(i.default);(0,t.assign)(o,{enter:function(e){e.renderer.register(e)},exit:function(e){e.renderer.unregister(e)}}),e.default=o}),e("ember-views/lib/views/states/pre_render",["exports","ember-views/lib/views/states/default"],function(e,t){"use strict"
-e.default=Object.create(t.default)}),e("ember/features",["exports","ember-environment","ember-utils"],function(e,t,n){"use strict"
-e.FEATURES=e.DEFAULT_FEATURES=void 0
-var r=e.DEFAULT_FEATURES={"features-stripped-test":!1,"ember-libraries-isregistered":!1,"ember-improved-instrumentation":!1,"ember-glimmer-named-arguments":!0,"ember-routing-router-service":!0,"ember-engines-mount-params":!0,"ember-module-unification":!1,"glimmer-custom-component-manager":!1,"ember-template-block-let-helper":!0,"ember-metal-tracked-properties":!1,"ember-glimmer-detect-backtracking-rerender":!1}
-e.FEATURES=(0,n.assign)(r,t.ENV.FEATURES)}),e("ember/index",["exports","require","ember-environment","node-module","ember-utils","container","ember-metal","ember/features","ember-debug","backburner","ember-console","ember-runtime","ember-glimmer","ember/version","ember-views","ember-routing","ember-application","ember-extension-support"],function(e,t,n,r,i,o,s,a,u,c,l,h,d,p,f,g,m,v){"use strict"
-var y,b="object"==typeof n.context.imports.Ember&&n.context.imports.Ember||{}
-b.isNamespace=!0,b.toString=function(){return"Ember"},Object.defineProperty(b,"ENV",{get:n.getENV,enumerable:!1}),Object.defineProperty(b,"lookup",{get:n.getLookup,set:n.setLookup,enumerable:!1}),Object.defineProperty(b,"EXTEND_PROTOTYPES",{enumerable:!1,get:function(){return n.ENV.EXTEND_PROTOTYPES}}),b.getOwner=i.getOwner,b.setOwner=i.setOwner,b.generateGuid=i.generateGuid,b.GUID_KEY=i.GUID_KEY,b.guidFor=i.guidFor,b.inspect=i.inspect,b.makeArray=i.makeArray,b.canInvoke=i.canInvoke,b.tryInvoke=i.tryInvoke,b.wrap=i.wrap,b.uuid=i.uuid,b.assign=i.assign,b.NAME_KEY=i.NAME_KEY,b.Container=o.Container,b.Registry=o.Registry,b.assert=u.assert,b.warn=u.warn,b.debug=u.debug,b.deprecate=u.deprecate,b.deprecateFunc=u.deprecateFunc,b.runInDebug=u.runInDebug,b.Error=u.Error,b.Debug={registerDeprecationHandler:u.registerDeprecationHandler,registerWarnHandler:u.registerWarnHandler}
-var C=s._globalsComputed
-b.computed=C,C.alias=s.alias,b.ComputedProperty=s.ComputedProperty,b.cacheFor=s.getCachedValueFor,b.merge=s.merge,b.instrument=s.instrument,b.subscribe=s.instrumentationSubscribe,b.Instrumentation={instrument:s.instrument,subscribe:s.instrumentationSubscribe,unsubscribe:s.instrumentationUnsubscribe,reset:s.instrumentationReset},b.meta=s.meta,b.get=s.get,b.getWithDefault=s.getWithDefault,b._getPath=s._getPath,b.set=s.set,b.trySet=s.trySet,b.FEATURES=a.FEATURES,b.FEATURES.isEnabled=u.isFeatureEnabled,b._Cache=s.Cache,b.on=s.on,b.addListener=s.addListener,b.removeListener=s.removeListener,b.sendEvent=s.sendEvent,b.hasListeners=s.hasListeners,b.isNone=s.isNone,b.isEmpty=s.isEmpty,b.isBlank=s.isBlank,b.isPresent=s.isPresent,b.run=s._globalsRun,b.run.backburner=s.backburner,b.run.begin=s.begin,b.run.bind=s.bind
-b.run.cancel=s.cancel,b.run.debounce=s.debounce,b.run.end=s.end,b.run.hasScheduledTimers=s.hasScheduledTimers,b.run.join=s.join,b.run.later=s.later,b.run.next=s.next,b.run.once=s.once,b.run.schedule=s.schedule,b.run.scheduleOnce=s.scheduleOnce,b.run.throttle=s.throttle,b.run.cancelTimers=s.cancelTimers,Object.defineProperty(b.run,"currentRunLoop",{get:s.getCurrentRunLoop,enumerable:!1}),b.propertyWillChange=s.propertyWillChange,b.propertyDidChange=s.propertyDidChange,b.notifyPropertyChange=s.notifyPropertyChange,b.overrideChains=s.overrideChains,b.beginPropertyChanges=s.beginPropertyChanges,b.endPropertyChanges=s.endPropertyChanges,b.changeProperties=s.changeProperties,b.platform={defineProperty:!0,hasPropertyAccessors:!0},b.defineProperty=s.defineProperty,b.watchKey=s.watchKey,b.unwatchKey=s.unwatchKey,b.removeChainWatcher=s.removeChainWatcher,b._ChainNode=s.ChainNode,b.finishChains=s.finishChains,b.watchPath=s.watchPath,b.unwatchPath=s.unwatchPath,b.watch=s.watch
-b.isWatching=s.isWatching,b.unwatch=s.unwatch,b.destroy=s.deleteMeta,b.libraries=s.libraries,b.OrderedSet=s.OrderedSet,b.Map=s.Map,b.MapWithDefault=s.MapWithDefault,b.getProperties=s.getProperties,b.setProperties=s.setProperties,b.expandProperties=s.expandProperties,b.addObserver=s.addObserver,b.removeObserver=s.removeObserver,b.aliasMethod=s.aliasMethod,b.observer=s.observer,b.mixin=s.mixin,b.Mixin=s.Mixin,Object.defineProperty(b,"onerror",{get:s.getOnerror,set:s.setOnerror,enumerable:!1}),Object.defineProperty(b,"testing",{get:u.isTesting,set:u.setTesting,enumerable:!1}),b._Backburner=c.default,b.Logger=l.default,b.A=h.A,b.String=h.String,b.Object=h.Object,b._RegistryProxyMixin=h.RegistryProxyMixin,b._ContainerProxyMixin=h.ContainerProxyMixin,b.compare=h.compare,b.copy=h.copy,b.isEqual=h.isEqual,b.inject=h.inject,b.Array=h.Array
-b.Comparable=h.Comparable,b.Enumerable=h.Enumerable,b.ArrayProxy=h.ArrayProxy,b.ObjectProxy=h.ObjectProxy,b.ActionHandler=h.ActionHandler,b.CoreObject=h.CoreObject,b.NativeArray=h.NativeArray,b.Copyable=h.Copyable,b.MutableEnumerable=h.MutableEnumerable,b.MutableArray=h.MutableArray,b.TargetActionSupport=h.TargetActionSupport,b.Evented=h.Evented,b.PromiseProxyMixin=h.PromiseProxyMixin,b.Observable=h.Observable,b.typeOf=h.typeOf,b.isArray=h.isArray,b.Object=h.Object,b.onLoad=h.onLoad,b.runLoadHooks=h.runLoadHooks,b.Controller=h.Controller,b.ControllerMixin=h.ControllerMixin,b.Service=h.Service,b._ProxyMixin=h._ProxyMixin,b.RSVP=h.RSVP,b.Namespace=h.Namespace,C.empty=h.empty,C.notEmpty=h.notEmpty,C.none=h.none,C.not=h.not,C.bool=h.bool
-C.match=h.match,C.equal=h.equal,C.gt=h.gt,C.gte=h.gte,C.lt=h.lt,C.lte=h.lte,C.oneWay=h.oneWay,C.reads=h.oneWay,C.readOnly=h.readOnly,C.deprecatingAlias=h.deprecatingAlias,C.and=h.and,C.or=h.or,C.sum=h.sum,C.min=h.min,C.max=h.max,C.map=h.map,C.sort=h.sort,C.setDiff=h.setDiff,C.mapBy=h.mapBy,C.filter=h.filter,C.filterBy=h.filterBy,C.uniq=h.uniq,C.uniqBy=h.uniqBy,C.union=h.union,C.intersect=h.intersect,C.collect=h.collect,Object.defineProperty(b,"STRINGS",{configurable:!1,get:h.getStrings,set:h.setStrings}),Object.defineProperty(b,"BOOTED",{configurable:!1,enumerable:!1,get:s.isNamespaceSearchDisabled,set:s.setNamespaceSearchDisabled}),b.Component=d.Component,d.Helper.helper=d.helper
-b.Helper=d.Helper,b.Checkbox=d.Checkbox,b.TextField=d.TextField,b.TextArea=d.TextArea,b.LinkComponent=d.LinkComponent,b._setComponentManager=d.componentManager,b.Handlebars={template:d.template,Utils:{escapeExpression:d.escapeExpression}},b.HTMLBars={template:d.template},n.ENV.EXTEND_PROTOTYPES.String&&(String.prototype.htmlSafe=function(){return(0,d.htmlSafe)(this)}),h.String.htmlSafe=d.htmlSafe,h.String.isHTMLSafe=d.isHTMLSafe,Object.defineProperty(b,"TEMPLATES",{get:d.getTemplates,set:d.setTemplates,configurable:!1,enumerable:!1}),b.VERSION=p.default,b.$=f.jQuery,b.ViewUtils={isSimpleClick:f.isSimpleClick,getViewElement:f.getViewElement,getViewBounds:f.getViewBounds,getViewClientRects:f.getViewClientRects,getViewBoundingClientRect:f.getViewBoundingClientRect,getRootViews:f.getRootViews,getChildViews:f.getChildViews,isSerializationFirstNode:d.isSerializationFirstNode},b.TextSupport=f.TextSupport,b.ComponentLookup=f.ComponentLookup,b.EventDispatcher=f.EventDispatcher,b.Location=g.Location,b.AutoLocation=g.AutoLocation,b.HashLocation=g.HashLocation,b.HistoryLocation=g.HistoryLocation,b.NoneLocation=g.NoneLocation,b.controllerFor=g.controllerFor,b.generateControllerFactory=g.generateControllerFactory,b.generateController=g.generateController,b.RouterDSL=g.RouterDSL,b.Router=g.Router,b.Route=g.Route,b.Application=m.Application
-b.ApplicationInstance=m.ApplicationInstance,b.Engine=m.Engine,b.EngineInstance=m.EngineInstance,b.DefaultResolver=b.Resolver=m.Resolver,(0,h.runLoadHooks)("Ember.Application",m.Application),b.DataAdapter=v.DataAdapter,b.ContainerDebugAdapter=v.ContainerDebugAdapter,(0,t.has)("ember-template-compiler")&&(0,t.default)("ember-template-compiler"),(0,t.has)("ember-testing")&&(y=(0,t.default)("ember-testing"),b.Test=y.Test,b.Test.Adapter=y.Adapter,b.Test.QUnitAdapter=y.QUnitAdapter,b.setupForTesting=y.setupForTesting),(0,h.runLoadHooks)("Ember"),e.default=b,r.IS_NODE?r.module.exports=b:n.context.exports.Ember=n.context.exports.Em=b}),e("ember/version",["exports"],function(e){"use strict"
-e.default="3.2.0"}),e("node-module",["exports"],function(e){var t="object"==typeof module&&"function"==typeof module.require
-t?(e.require=module.require,e.module=module,e.IS_NODE=t):(e.require=null,e.module=null,e.IS_NODE=t)})
-e("route-recognizer",["exports"],function(e){"use strict"
-function t(){var e=m(null)
-return e.__=void 0,delete e.__,e}function n(e,t,r){return function(i,o){var s=e+i
-if(!o)return new v(s,t,r)
-o(n(s,t,r))}}function r(e,t,n){var r,i=0
-for(r=0;r<e.length;r++)i+=e[r].path.length
-t=t.substr(i)
-var o={path:t,handler:n}
-e.push(o)}function i(e,t,n,o){var s,a,u,c,l=t.routes,h=Object.keys(l)
-for(s=0;s<h.length;s++)a=h[s],u=e.slice(),r(u,a,l[a]),c=t.children[a],c?i(u,c,n,o):n.call(o,u)}function o(e){return e.split("/").map(s).join("/")}function s(e){return e.length<3||-1===e.indexOf("%")?e:decodeURIComponent(e).replace(b,encodeURIComponent)}function a(e){return encodeURIComponent(e).replace(C,decodeURIComponent)}function u(e,t){if("object"!=typeof e||null===e)throw new Error("You must pass an object as the second argument to `generate`.")
-if(!I.call(e,t))throw new Error("You must provide param `"+t+"` to `generate`.")
-var n=e[t],r="string"==typeof n?n:""+n
-if(0===r.length)throw new Error("You must provide a param `"+t+"`.")
-return r}function c(e,t,n){t.length>0&&47===t.charCodeAt(0)&&(t=t.substr(1))
-var r,i,o,a,u=t.split("/"),c=void 0,l=void 0
-for(r=0;r<u.length;r++)i=u[r],o=0,a=0,a=""===i?4:58===i.charCodeAt(0)?1:42===i.charCodeAt(0)?2:0,o=2<<a,12&o&&(i=i.slice(1),c=c||[],c.push(i),l=l||[],l.push(0!=(4&o))),14&o&&n[a]++,e.push({type:a,value:s(i)})
-return{names:c||E,shouldDecodes:l||E}}function l(e,t,n){return e.char===t&&e.negate===n}function h(e,t){return e.negate?e.char!==t&&-1!==e.char:e.char===t||-1===e.char}function d(e){return e.sort(function(e,t){var n=e.types||[0,0,0],r=n[0],i=n[1],o=n[2],s=t.types||[0,0,0],a=s[0],u=s[1],c=s[2]
-if(o!==c)return o-c
-if(o){if(r!==a)return a-r
-if(i!==u)return u-i}return i!==u?i-u:r!==a?a-r:0})}function p(e,t){var n,r,i,o=[]
-for(n=0,r=e.length;n<r;n++)i=e[n],o=o.concat(i.match(t))
-return o}function f(e,t,n){var r,i,o,s,a,u,c,l,h,d=e.handlers,p=e.regex()
-if(!p||!d)throw new Error("state not initialized")
-var f=t.match(p),g=1,m=new T(n)
-for(m.length=d.length,r=0;r<d.length;r++){if(i=d[r],o=i.names,s=i.shouldDecodes,a=j,u=!1,o!==E&&s!==E)for(c=0;c<o.length;c++)u=!0,l=o[c],h=f&&f[g++],a===j&&(a={}),P.ENCODE_AND_DECODE_PATH_SEGMENTS&&s[c]?a[l]=h&&decodeURIComponent(h):a[l]=h
-m[r]={handler:i.handler,params:a,isDynamic:u}}return m}function g(e){e=e.replace(/\+/gm,"%20")
-var t
-try{t=decodeURIComponent(e)}catch(e){t=""}return t}var m=Object.create,v=function(e,t,n){this.path=e,this.matcher=t,this.delegate=n}
-v.prototype.to=function(e,t){var n=this.delegate
-if(n&&n.willAddRoute&&(e=n.willAddRoute(this.matcher.target,e)),this.matcher.add(this.path,e),t){if(0===t.length)throw new Error("You must have an argument in the function passed to `to`")
-this.matcher.addChild(this.path,e,t,this.delegate)}}
-var y=function(e){this.routes=t(),this.children=t(),this.target=e}
-y.prototype.add=function(e,t){this.routes[e]=t},y.prototype.addChild=function(e,t,r,i){var o=new y(t)
-this.children[e]=o
-var s=n(e,o,i)
-i&&i.contextEntered&&i.contextEntered(t,s),r(s)}
-var b=/%|\//g,C=/%(?:2(?:4|6|B|C)|3(?:B|D|A)|40)/g,A=/(\/|\.|\*|\+|\?|\||\(|\)|\[|\]|\{|\}|\\)/g,_=Array.isArray,I=Object.prototype.hasOwnProperty,w=[]
-w[0]=function(e,t){var n,r,i=t,o=e.value
-for(n=0;n<o.length;n++)r=o.charCodeAt(n),i=i.put(r,!1,!1)
-return i},w[1]=function(e,t){return t.put(47,!0,!0)},w[2]=function(e,t){return t.put(-1,!1,!0)},w[4]=function(e,t){return t}
-var x=[]
-x[0]=function(e){return e.value.replace(A,"\\$1")},x[1]=function(){return"([^/]+)"},x[2]=function(){return"(.+)"},x[4]=function(){return""}
-var k=[]
-k[0]=function(e){return e.value},k[1]=function(e,t){var n=u(t,e.value)
-return P.ENCODE_AND_DECODE_PATH_SEGMENTS?a(n):n},k[2]=function(e,t){return u(t,e.value)},k[4]=function(){return""}
-var j=Object.freeze({}),E=Object.freeze([]),S=function(e,t,n,r,i){this.states=e,this.id=t,this.char=n,this.negate=r,this.nextStates=i?t:null,this.pattern="",this._regex=void 0,this.handlers=void 0,this.types=void 0}
-S.prototype.regex=function(){return this._regex||(this._regex=new RegExp(this.pattern)),this._regex},S.prototype.get=function(e,t){var n,r,i,o=this,s=this.nextStates
-if(null!==s)if(_(s)){for(n=0;n<s.length;n++)if(r=o.states[s[n]],l(r,e,t))return r}else if(i=this.states[s],l(i,e,t))return i},S.prototype.put=function(e,t,n){var r
-if(r=this.get(e,t))return r
-var i=this.states
-return r=new S(i,i.length,e,t,n),i[i.length]=r,null==this.nextStates?this.nextStates=r.id:_(this.nextStates)?this.nextStates.push(r.id):this.nextStates=[this.nextStates,r.id],r},S.prototype.match=function(e){var t,n,r,i=this,o=this.nextStates
-if(!o)return[]
-var s=[]
-if(_(o))for(t=0;t<o.length;t++)n=i.states[o[t]],h(n,e)&&s.push(n)
-else r=this.states[o],h(r,e)&&s.push(r)
-return s}
-var T=function(e){this.length=0,this.queryParams=e||{}}
-T.prototype.splice=Array.prototype.splice,T.prototype.slice=Array.prototype.slice,T.prototype.push=Array.prototype.push
-var P=function(){this.names=t()
-var e=[],n=new S(e,0,-1,!0,!1)
-e[0]=n,this.states=e,this.rootState=n}
-P.prototype.add=function(e,t){var n,r,i,o,s,a,u=this.rootState,l="^",h=[0,0,0],d=new Array(e.length),p=[],f=!0,g=0
-for(n=0;n<e.length;n++){for(r=e[n],i=c(p,r.path,h),o=i.names,s=i.shouldDecodes;g<p.length;g++)a=p[g],4!==a.type&&(f=!1,u=u.put(47,!1,!1),l+="/",u=w[a.type](a,u),l+=x[a.type](a))
-d[n]={handler:r.handler,names:o,shouldDecodes:s}}f&&(u=u.put(47,!1,!1),l+="/"),u.handlers=d,u.pattern=l+"$",u.types=h
-var m
-"object"==typeof t&&null!==t&&t.as&&(m=t.as),m&&(this.names[m]={segments:p,handlers:d})},P.prototype.handlersFor=function(e){var t,n,r=this.names[e]
-if(!r)throw new Error("There is no route named "+e)
-var i=new Array(r.handlers.length)
-for(t=0;t<r.handlers.length;t++)n=r.handlers[t],i[t]=n
-return i},P.prototype.hasRoute=function(e){return!!this.names[e]},P.prototype.generate=function(e,t){var n,r,i=this.names[e],o=""
-if(!i)throw new Error("There is no route named "+e)
-var s=i.segments
-for(n=0;n<s.length;n++)r=s[n],4!==r.type&&(o+="/",o+=k[r.type](r,t))
-return"/"!==o.charAt(0)&&(o="/"+o),t&&t.queryParams&&(o+=this.generateQueryString(t.queryParams)),o},P.prototype.generateQueryString=function(e){var t,n,r,i,o,s,a=[],u=Object.keys(e)
-for(u.sort(),t=0;t<u.length;t++)if(n=u[t],null!=(r=e[n]))if(i=encodeURIComponent(n),_(r))for(o=0;o<r.length;o++)s=n+"[]="+encodeURIComponent(r[o]),a.push(s)
-else i+="="+encodeURIComponent(r),a.push(i)
-return 0===a.length?"":"?"+a.join("&")},P.prototype.parseQueryString=function(e){var t,n,r,i,o,s,a=e.split("&"),u={}
-for(t=0;t<a.length;t++)n=a[t].split("="),r=g(n[0]),i=r.length,o=!1,s=void 0,1===n.length?s="true":(i>2&&"[]"===r.slice(i-2)&&(o=!0,r=r.slice(0,i-2),u[r]||(u[r]=[])),s=n[1]?g(n[1]):""),o?u[r].push(s):u[r]=s
-return u},P.prototype.recognize=function(e){var t,n,r,i,s=[this.rootState],a={},u=!1,c=e.indexOf("#");-1!==c&&(e=e.substr(0,c))
-var l=e.indexOf("?");-1!==l&&(n=e.substr(l+1,e.length),e=e.substr(0,l),a=this.parseQueryString(n)),"/"!==e.charAt(0)&&(e="/"+e)
-var h=e
-P.ENCODE_AND_DECODE_PATH_SEGMENTS?e=o(e):(e=decodeURI(e),h=decodeURI(h))
-var g=e.length
-for(g>1&&"/"===e.charAt(g-1)&&(e=e.substr(0,g-1),h=h.substr(0,h.length-1),u=!0),r=0;r<e.length&&(s=p(s,e.charCodeAt(r)),s.length);r++);var m=[]
-for(i=0;i<s.length;i++)s[i].handlers&&m.push(s[i])
-s=d(m)
-var v=m[0]
-return v&&v.handlers&&(u&&v.pattern&&"(.+)$"===v.pattern.slice(-5)&&(h+="/"),t=f(v,h,a)),t},P.VERSION="0.3.3",P.ENCODE_AND_DECODE_PATH_SEGMENTS=!0,P.Normalizer={normalizeSegment:s,normalizePath:o,encodePathSegment:a},P.prototype.map=function(e,t){var r=new y
-e(n("",r,this.delegate)),i([],r,function(e){t?t(this,e):this.add(e)},this)},e.default=P}),e("router",["exports","ember-babel","rsvp","route-recognizer"],function(e,t,n,r){"use strict"
-function i(e){return("object"==typeof e&&null!==e||"function"==typeof e)&&"function"==typeof e.then}function o(e,t){for(var n in t)L.call(t,n)&&(e[n]=t[n])}function s(e){var t=e&&e.length,n=void 0,r=void 0
-return t&&t>0&&e[t-1]&&e[t-1].hasOwnProperty("queryParams")?(r=e[t-1].queryParams,n=M.call(e,0,t-1),[n,r]):[e,null]}function a(e){var t,n,r
-for(var i in e)if("number"==typeof(t=e[i]))e[i]=""+t
-else if(Array.isArray(t))for(n=0,r=t.length;n<r;n++)t[n]=""+t[n]}function u(e,t,n){e.log&&(3===arguments.length?e.log("Transition #"+t+": "+n):(n=t,e.log(n)))}function c(e){return"string"==typeof e||e instanceof String||"number"==typeof e||e instanceof Number}function l(e,t){var n,r
-for(n=0,r=e.length;n<r&&!1!==t(e[n]);n++);}function h(e,t,n,r){function i(e,t,n){n.events[e].apply(n,t)}if(e.triggerEvent)return void e.triggerEvent(t,n,r)
-var o,s,a,u=r.shift()
-if(!t){if(n)return
-throw new Error("Could not trigger event '"+u+"'. There are no active handlers")}var c=!1
-for(o=t.length-1;o>=0;o--)if(s=t[o],a=s.handler){if(a.events&&a.events[u]){if(!0!==a.events[u].apply(a,r))return
-c=!0}}else s.handlerPromise.then(i.bind(null,u,r))
-if("error"===u&&"UnrecognizedURLError"===r[0].name)throw r[0]
-if(!c&&!n)throw new Error("Nothing handled the event '"+u+"'.")}function d(e,t){var n,r,i=void 0,s={all:{},changed:{},removed:{}}
-o(s.all,t)
-var u=!1
-a(e),a(t)
-for(i in e)L.call(e,i)&&(L.call(t,i)||(u=!0,s.removed[i]=e[i]))
-for(i in t)if(L.call(t,i))if(Array.isArray(e[i])&&Array.isArray(t[i]))if(e[i].length!==t[i].length)s.changed[i]=t[i],u=!0
-else for(n=0,r=e[i].length;n<r;n++)e[i][n]!==t[i][n]&&(s.changed[i]=t[i],u=!0)
-else e[i]!==t[i]&&(s.changed[i]=t[i],u=!0)
-return u?s:void 0}function p(e){return"Router: "+e}function f(e,t){if(e){var n="_"+t
-return e[n]&&n||e[t]&&t}}function g(e,t,n,r){var i=f(e,t)
-return i&&e[i].call(e,n,r)}function m(e,t,n){var r=f(e,t)
-if(r)return 0===n.length?e[r].call(e):1===n.length?e[r].call(e,n[0]):2===n.length?e[r].call(e,n[0],n[1]):e[r].apply(e,n)}function v(e){if(!(this instanceof v))return new v(e)
-var t=Error.call(this,e)
-Error.captureStackTrace?Error.captureStackTrace(this,v):this.stack=t.stack,this.description=t.description,this.fileName=t.fileName,this.lineNumber=t.lineNumber,this.message=t.message||"TransitionAborted",this.name="TransitionAborted",this.number=t.number,this.code=t.code}function y(e){return u(e.router,e.sequence,"detected abort."),new v}function b(e,t){if(!e^!t)return!1
-if(!e)return!0
-for(var n in e)if(e.hasOwnProperty(n)&&e[n]!==t[n])return!1
-return!0}function C(e,t){var n=C.klasses[e],r=new n(t||{})
-return r.factory=C,r}function A(e){if(!(this instanceof A))return new A(e)
-var t=Error.call(this,e)
-Error.captureStackTrace?Error.captureStackTrace(this,A):this.stack=t.stack,this.description=t.description,this.fileName=t.fileName,this.lineNumber=t.lineNumber,this.message=t.message||"UnrecognizedURL",this.name="UnrecognizedURLError",this.number=t.number,this.code=t.code}function _(e,t){var n,r=!!this.activeTransition,i=r?this.activeTransition.state:this.state,o=e.applyToState(i,this.recognizer,this.getHandler,t,this.getSerializer),s=d(i.queryParams,o.queryParams)
-return T(o.handlerInfos,i.handlerInfos)?s&&(n=this.queryParamsTransition(s,r,i,o))?(n.queryParamsOnly=!0,n):this.activeTransition||new z(this):t?void w(this,o):(n=new z(this,e,o,void 0,this.activeTransition),P(o.handlerInfos,i.handlerInfos)&&(n.queryParamsOnly=!0),this.activeTransition&&this.activeTransition.abort(),this.activeTransition=n,n.promise=n.promise.then(function(e){return E(n,e.state)},null,p("Settle transition promise when transition is finalized")),r||N(this,o,n),I(this,o,s),n)}function I(e,t,n){n&&(e._changedQueryParams=n.all,h(e,t.handlerInfos,!0,["queryParamsDidChange",n.changed,n.all,n.removed]),e._changedQueryParams=null)}function w(e,t,n){var r,i,o,s=k(e.state,t)
-for(r=0,i=s.exited.length;r<i;r++)o=s.exited[r].handler,delete o.context,g(o,"reset",!0,n),g(o,"exit",n)
-var a=e.oldState=e.state
-e.state=t
-var u=e.currentHandlerInfos=s.unchanged.slice()
-try{for(r=0,i=s.reset.length;r<i;r++)o=s.reset[r].handler,g(o,"reset",!1,n)
-for(r=0,i=s.updatedContext.length;r<i;r++)x(u,s.updatedContext[r],!1,n)
-for(r=0,i=s.entered.length;r<i;r++)x(u,s.entered[r],!0,n)}catch(t){throw e.state=a,e.currentHandlerInfos=a.handlerInfos,t}e.state.queryParams=R(e,u,t.queryParams,n)}function x(e,t,n,r){function i(i){if(n&&g(i,"enter",r),r&&r.isAborted)throw new v
-if(i.context=s,g(i,"contextDidChange"),g(i,"setup",s,r),r&&r.isAborted)throw new v
-e.push(t)}var o=t.handler,s=t.context
-return o?i(o):t.handlerPromise=t.handlerPromise.then(i),!0}function k(e,t){var n,r,i,o,s,a=e.handlerInfos,u=t.handlerInfos,c={updatedContext:[],exited:[],entered:[],unchanged:[],reset:void 0},l=!1
-for(o=0,s=u.length;o<s;o++)n=a[o],r=u[o],n&&n.handler===r.handler||(i=!0),i?(c.entered.push(r),n&&c.exited.unshift(n)):l||n.context!==r.context?(l=!0,c.updatedContext.push(r)):c.unchanged.push(n)
-for(o=u.length,s=a.length;o<s;o++)c.exited.unshift(a[o])
-return c.reset=c.updatedContext.slice(),c.reset.reverse(),c}function j(e,t){var n,r,i,s,a,u,c,l=e.urlMethod
-if(l){var h=e.router,d=t.handlerInfos,p=d[d.length-1].name,f={}
-for(n=d.length-1;n>=0;--n)r=d[n],o(f,r.params),r.handler.inaccessibleByURL&&(l=null)
-l&&(f.queryParams=e._visibleQueryParams||t.queryParams,i=h.recognizer.generate(p,f),s=e.isCausedByInitialTransition,a="replace"===l&&!e.isCausedByAbortingTransition,u=e.queryParamsOnly&&"replace"===l,c="replace"===l&&e.isCausedByAbortingReplaceTransition,s||a||u||c?h.replaceURL(i):h.updateURL(i))}}function E(e,t){var r,i,o
-try{return u(e.router,e.sequence,"Resolved all models on destination route; finalizing transition."),(r=e.router,i=t.handlerInfos,w(r,t,e),e.isAborted)?(r.state.handlerInfos=r.currentHandlerInfos,n.Promise.reject(y(e))):(j(e,t,e.intent.url),e.isActive=!1,r.activeTransition=null,h(r,r.currentHandlerInfos,!0,["didTransition"]),r.didTransition&&r.didTransition(r.currentHandlerInfos),u(r,e.sequence,"TRANSITION COMPLETE."),i[i.length-1].handler)}catch(t){throw t instanceof v||(o=e.state.handlerInfos,e.trigger(!0,"error",t,e,o[o.length-1].handler),e.abort()),t}}function S(e,t,n){var r,i=t[0]||"/",o=t[t.length-1],s={}
-o&&o.hasOwnProperty("queryParams")&&(s=Y.call(t).queryParams)
-var a
-return 0===t.length?(u(e,"Updating query params"),r=e.state.handlerInfos,a=new W({name:r[r.length-1].name,contexts:[],queryParams:s})):"/"===i.charAt(0)?(u(e,"Attempting URL transition to "+i),a=new G({url:i})):(u(e,"Attempting transition to "+i),a=new W({name:t[0],contexts:M.call(t,1),queryParams:s})),e.transitionByIntent(a,n)}function T(e,t){var n,r
-if(e.length!==t.length)return!1
-for(n=0,r=e.length;n<r;++n)if(e[n]!==t[n])return!1
-return!0}function P(e,t){var n,r
-if(e.length!==t.length)return!1
-for(n=0,r=e.length;n<r;++n){if(e[n].name!==t[n].name)return!1
-if(!O(e[n].params,t[n].params))return!1}return!0}function O(e,t){if(!e&&!t)return!0
-if(!e&&t||e&&!t)return!1
-var n,r,i,o=Object.keys(e),s=Object.keys(t)
-if(o.length!==s.length)return!1
-for(n=0,r=o.length;n<r;++n)if(i=o[n],e[i]!==t[i])return!1
-return!0}function R(e,t,n,r){for(var i in n)n.hasOwnProperty(i)&&null===n[i]&&delete n[i]
-var o,s,a,u=[]
-h(e,t,!0,["finalizeQueryParamChange",n,u,r]),r&&(r._visibleQueryParams={})
-var c={}
-for(o=0,s=u.length;o<s;++o)a=u[o],c[a.key]=a.value,r&&!1!==a.visible&&(r._visibleQueryParams[a.key]=a.value)
-return c}function N(e,t,n){var r,i,o,s,a=e.state.handlerInfos
-for(i=a.length,r=0;r<i&&(o=a[r],(s=t.handlerInfos[r])&&o.name===s.name);r++)s.isResolved
-h(e,a,!0,["willTransition",n]),e.willTransition&&e.willTransition(a,t.handlerInfos,n)}e.Transition=void 0
-var M=Array.prototype.slice,L=Object.prototype.hasOwnProperty,D=function(){function e(){this.handlerInfos=[],this.queryParams={},this.params={}}return e.prototype.promiseLabel=function(e){var t=""
-return l(this.handlerInfos,function(e){""!==t&&(t+="."),t+=e.name}),p("'"+t+"': "+e)},e.prototype.resolve=function(e){function t(){return n.Promise.resolve(e(),u.promiseLabel("Check if should continue")).catch(function(e){return c=!0,n.Promise.reject(e)},u.promiseLabel("Handle abort"))}function r(e){var t=u.handlerInfos,r=s.resolveIndex>=t.length?t.length-1:s.resolveIndex
-return n.Promise.reject({error:e,handlerWithError:u.handlerInfos[r].handler,wasAborted:c,state:u})}function i(e){var n,r=u.handlerInfos[s.resolveIndex].isResolved
-return u.handlerInfos[s.resolveIndex++]=e,r||(n=e.handler,g(n,"redirect",e.context,s)),t().then(o,null,u.promiseLabel("Resolve handler"))}function o(){return s.resolveIndex===u.handlerInfos.length?{error:null,state:u}:u.handlerInfos[s.resolveIndex].resolve(t,s).then(i,null,u.promiseLabel("Proceed"))}var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=this.params
-l(this.handlerInfos,function(e){a[e.name]=e.params||{}}),s.resolveIndex=0
-var u=this,c=!1
-return n.Promise.resolve(null,this.promiseLabel("Start transition")).then(o,null,this.promiseLabel("Resolve handler")).catch(r,this.promiseLabel("Handle error"))},e}()
-v.prototype=Object.create(Error.prototype)
-var z=function(){function e(e,t,r,i,o){var s,a,u,c=this
-if(this.state=r||e.state,this.intent=t,this.router=e,this.data=this.intent&&this.intent.data||{},this.resolvedModels={},this.queryParams={},this.promise=void 0,this.error=void 0,this.params=void 0,this.handlerInfos=void 0,this.targetName=void 0,this.pivotHandler=void 0,this.sequence=void 0,this.isAborted=!1,this.isActive=!0,this.urlMethod="update",this.resolveIndex=0,this.queryParamsOnly=!1,this.isTransition=!0,i)return this.promise=n.Promise.reject(i),void(this.error=i)
-if(this.isCausedByAbortingTransition=!!o,this.isCausedByInitialTransition=o&&(o.isCausedByInitialTransition||0===o.sequence),this.isCausedByAbortingReplaceTransition=o&&"replace"==o.urlMethod&&(!o.isCausedByAbortingTransition||o.isCausedByAbortingReplaceTransition),r){for(this.params=r.params,this.queryParams=r.queryParams,this.handlerInfos=r.handlerInfos,s=r.handlerInfos.length,s&&(this.targetName=r.handlerInfos[s-1].name),a=0;a<s&&(u=r.handlerInfos[a],u.isResolved);++a)this.pivotHandler=u.handler
-this.sequence=e.currentSequence++,this.promise=r.resolve(function(){if(c.isAborted)return n.Promise.reject(void 0,p("Transition aborted - reject"))},this).catch(function(e){return e.wasAborted||c.isAborted?n.Promise.reject(y(c)):(c.trigger("error",e.error,c,e.handlerWithError),c.abort(),n.Promise.reject(e.error))},p("Handle Abort"))}else this.promise=n.Promise.resolve(this.state),this.params={}}return e.prototype.isExiting=function(e){var t,n,r,i=this.handlerInfos
-for(t=0,n=i.length;t<n;++t)if(r=i[t],r.name===e||r.handler===e)return!1
-return!0},e.prototype.then=function(e,t,n){return this.promise.then(e,t,n)},e.prototype.catch=function(e,t){return this.promise.catch(e,t)},e.prototype.finally=function(e,t){return this.promise.finally(e,t)},e.prototype.abort=function(){return this.isAborted?this:(u(this.router,this.sequence,this.targetName+": transition was aborted"),this.intent.preTransitionState=this.router.state,this.isAborted=!0,this.isActive=!1,this.router.activeTransition=null,this)},e.prototype.retry=function(){this.abort()
-var e=this.router.transitionByIntent(this.intent,!1)
-return null!==this.urlMethod&&e.method(this.urlMethod),e},e.prototype.method=function(e){return this.urlMethod=e,this},e.prototype.trigger=function(e){var t=M.call(arguments)
-"boolean"==typeof e?t.shift():e=!1,h(this.router,this.state.handlerInfos.slice(0,this.resolveIndex+1),e,t)},e.prototype.followRedirects=function(){var e=this.router
-return this.promise.catch(function(t){return e.activeTransition?e.activeTransition.followRedirects():n.Promise.reject(t)})},e.prototype.toString=function(){return"Transition (sequence "+this.sequence+")"},e.prototype.log=function(e){u(this.router,this.sequence,e)},e}()
-z.prototype.send=z.prototype.trigger
-var F=function(){this.data=this.data||{}},B=Object.freeze({}),H=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
-this._handler=B,this._handlerPromise=null,this.factory=null,this.name=e.name
-for(var t in e)"handler"===t?this._processHandler(e.handler):this[t]=e[t]}return e.prototype.getHandler=function(){},e.prototype.fetchHandler=function(){var e=this.getHandler(this.name)
-return this._processHandler(e)},e.prototype._processHandler=function(e){var t=this
-return this.handlerPromise=n.Promise.resolve(e),i(e)?(this.handlerPromise=this.handlerPromise.then(function(e){return t.updateHandler(e)}),this.handler=void 0):e?this.updateHandler(e):void 0},e.prototype.log=function(e,t){e.log&&e.log(this.name+": "+t)},e.prototype.promiseLabel=function(e){return p("'"+this.name+"' "+e)},e.prototype.getUnresolved=function(){return this},e.prototype.serialize=function(){return this.params||{}},e.prototype.updateHandler=function(e){return e._handlerName=this.name,this.handler=e},e.prototype.resolve=function(e,t){var r=this.checkForAbort.bind(this,e),i=this.runBeforeModelHook.bind(this,t),o=this.getModel.bind(this,t),s=this.runAfterModelHook.bind(this,t),a=this.becomeResolved.bind(this,t)
-return n.Promise.resolve(this.handlerPromise,this.promiseLabel("Start handler")).then(r,null,this.promiseLabel("Check for abort")).then(i,null,this.promiseLabel("Before model")).then(r,null,this.promiseLabel("Check if aborted during 'beforeModel' hook")).then(o,null,this.promiseLabel("Model")).then(r,null,this.promiseLabel("Check if aborted in 'model' hook")).then(s,null,this.promiseLabel("After model")).then(r,null,this.promiseLabel("Check if aborted in 'afterModel' hook")).then(a,null,this.promiseLabel("Become resolved"))},e.prototype.runBeforeModelHook=function(e){return e.trigger&&e.trigger(!0,"willResolveModel",e,this.handler),this.runSharedModelHook(e,"beforeModel",[])},e.prototype.runAfterModelHook=function(e,t){var n=this.name
-return this.stashResolvedModel(e,t),this.runSharedModelHook(e,"afterModel",[t]).then(function(){return e.resolvedModels[n]},null,this.promiseLabel("Ignore fulfillment value and return model value"))},e.prototype.runSharedModelHook=function(e,t,r){this.log(e,"calling "+t+" hook"),this.queryParams&&r.push(this.queryParams),r.push(e)
-var i=m(this.handler,t,r)
-return i&&i.isTransition&&(i=null),n.Promise.resolve(i,this.promiseLabel("Resolve value returned from one of the model hooks"))},e.prototype.getModel=function(){},e.prototype.checkForAbort=function(e,t){return n.Promise.resolve(e(),this.promiseLabel("Check for abort")).then(function(){return t},null,this.promiseLabel("Ignore fulfillment value and continue"))},e.prototype.stashResolvedModel=function(e,t){e.resolvedModels=e.resolvedModels||{},e.resolvedModels[this.name]=t},e.prototype.becomeResolved=function(e,t){var n=this.serialize(t)
-e&&(this.stashResolvedModel(e,t),e.params=e.params||{},e.params[this.name]=n)
-var r={name:this.name,handler:this.handler,params:n},i=t===this.context
-return("context"in this||!i)&&(r.context=t),this.factory("resolved",r)},e.prototype.shouldSupercede=function(e){if(!e)return!0
-var t=e.context===this.context
-return e.name!==this.name||"context"in this&&!t||this.hasOwnProperty("params")&&!b(this.params,e.params)},(0,t.createClass)(e,[{key:"handler",get:function(){return this._handler!==B?this._handler:this.fetchHandler()},set:function(e){return this._handler=e}},{key:"handlerPromise",get:function(){return null!==this._handlerPromise?this._handlerPromise:(this.fetchHandler(),this._handlerPromise)},set:function(e){return this._handlerPromise=e,e}}]),e}(),U=function(e){function r(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this,n))
-return r.isResolved=!0,r}return(0,t.inherits)(r,e),r.prototype.resolve=function(e,t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),n.Promise.resolve(this,this.promiseLabel("Resolve"))},r.prototype.getUnresolved=function(){return this.factory("param",{name:this.name,handler:this.handler,params:this.params})},r}(H),q=function(e){function r(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this,n))
-return r.names=r.names||[],r}return(0,t.inherits)(r,e),r.prototype.getModel=function(e){return this.log(e,this.name+": resolving provided model"),n.Promise.resolve(this.context)},r.prototype.serialize=function(e){var t=e||this.context,n=this.names,r={}
-if(c(t))return r[n[0]]=t,r
-if(this.serializer)return this.serializer.call(null,t,n)
-if(this.handler&&this.handler.serialize)return this.handler.serialize(t,n)
-if(1===n.length){var i=n[0]
-return/_id$/.test(i)?r[i]=t.id:r[i]=t,r}},r}(H),V=function(e){function n(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this,n))
-return r.params=r.params||{},r}return(0,t.inherits)(n,e),n.prototype.getModel=function(e){var t=this.params
-e&&e.queryParams&&(t={},o(t,this.params),t.queryParams=e.queryParams)
-var n=this.handler,r=f(n,"deserialize")||f(n,"model")
-return this.runSharedModelHook(e,r,[t])},n}(H)
-C.klasses={resolved:U,param:V,object:q}
-var W=function(e){function n(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this,n))
-return r.name=n.name,r.pivotHandler=n.pivotHandler,r.contexts=n.contexts||[],r.queryParams=n.queryParams,r}return(0,t.inherits)(n,e),n.prototype.applyToState=function(e,t,n,r,i){var o=s([this.name].concat(this.contexts)),a=o[0],u=t.handlersFor(a[0]),c=u[u.length-1].handler
-return this.applyToHandlers(e,u,n,c,r,null,i)},n.prototype.applyToHandlers=function(e,t,n,r,i,s,a){var u,c,l,h,d,p,f,g,m,v=new D,y=this.contexts.slice(0),b=t.length
-if(this.pivotHandler)for(u=0,c=t.length;u<c;++u)if(t[u].handler===this.pivotHandler._handlerName){b=u
-break}for(u=t.length-1;u>=0;--u)l=t[u],h=l.handler,d=e.handlerInfos[u],p=null,l.names.length>0?u>=b?p=this.createParamHandlerInfo(h,n,l.names,y,d):(f=a(h),p=this.getHandlerInfoForDynamicSegment(h,n,l.names,y,d,r,u,f)):p=this.createParamHandlerInfo(h,n,l.names,y,d),s&&(p=p.becomeResolved(null,p.context),g=d&&d.context,l.names.length>0&&"context"in d&&p.context===g&&(p.params=d&&d.params),p.context=g),m=d,(u>=b||p.shouldSupercede(d))&&(b=Math.min(u,b),m=p),i&&!s&&(m=m.becomeResolved(null,m.context)),v.handlerInfos.unshift(m)
-if(y.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+r)
-return i||this.invalidateChildren(v.handlerInfos,b),o(v.queryParams,this.queryParams||{}),v},n.prototype.invalidateChildren=function(e,t){var n,r,i
-for(n=t,r=e.length;n<r;++n)i=e[n],e[n]=i.getUnresolved()},n.prototype.getHandlerInfoForDynamicSegment=function(e,t,n,r,i,o,s,a){var u,l
-if(r.length>0){if(u=r[r.length-1],c(u))return this.createParamHandlerInfo(e,t,n,r,i)
-r.pop()}else{if(i&&i.name===e)return i
-if(!this.preTransitionState)return i
-l=this.preTransitionState.handlerInfos[s],u=l&&l.context}return C("object",{name:e,getHandler:t,serializer:a,context:u,names:n})},n.prototype.createParamHandlerInfo=function(e,t,n,r,i){for(var o,s,a,u={},l=n.length;l--;)if(o=i&&e===i.name&&i.params||{},s=r[r.length-1],a=n[l],c(s))u[a]=""+r.pop()
-else{if(!o.hasOwnProperty(a))throw new Error("You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route "+e)
-u[a]=o[a]}return C("param",{name:e,getHandler:t,params:u})},n}(F)
-A.prototype=Object.create(Error.prototype)
-var G=function(e){function n(n){var r=(0,t.possibleConstructorReturn)(this,e.call(this,n))
-return r.url=n.url,r}return(0,t.inherits)(n,e),n.prototype.applyToState=function(e,t,n){function r(e){if(e&&e.inaccessibleByURL)throw new A(g)
-return e}var i,s,a,u,c,l,h,d=new D,p=t.recognize(this.url)
-if(!p)throw new A(this.url)
-var f=!1,g=this.url
-for(l=0,h=p.length;l<h;++l)i=p[l],s=i.handler,a=C("param",{name:s,getHandler:n,params:i.params}),u=a.handler,u?r(u):a.handlerPromise=a.handlerPromise.then(r),c=e.handlerInfos[l],f||a.shouldSupercede(c)?(f=!0,d.handlerInfos[l]=a):d.handlerInfos[l]=c
-return o(d.queryParams,p.queryParams),d},n}(F),Y=Array.prototype.pop,K=function(){function e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}
-this.getHandler=e.getHandler||this.getHandler,this.getSerializer=e.getSerializer||this.getSerializer,this.updateURL=e.updateURL||this.updateURL,this.replaceURL=e.replaceURL||this.replaceURL,this.didTransition=e.didTransition||this.didTransition,this.willTransition=e.willTransition||this.willTransition,this.delegate=e.delegate||this.delegate,this.triggerEvent=e.triggerEvent||this.triggerEvent,this.log=e.log||this.log,this.dslCallBacks=[],this.state=void 0,this.activeTransition=void 0,this._changedQueryParams=void 0,this.oldState=void 0,this.currentHandlerInfos=void 0,this.currentSequence=0,this.recognizer=new r.default,this.reset()}return e.prototype.map=function(e){this.recognizer.delegate=this.delegate,this.recognizer.map(e,function(e,t){var n,r,i
-for(n=t.length-1,r=!0;n>=0&&r;--n)i=t[n],e.add(t,{as:i.handler}),r="/"===i.path||""===i.path||".index"===i.handler.slice(-6)})},e.prototype.hasRoute=function(e){return this.recognizer.hasRoute(e)},e.prototype.getHandler=function(){},e.prototype.getSerializer=function(){},e.prototype.queryParamsTransition=function(e,t,n,r){var i,o=this
-return I(this,r,e),!t&&this.activeTransition?this.activeTransition:(i=new z(this),i.queryParamsOnly=!0,n.queryParams=R(this,r.handlerInfos,r.queryParams,i),i.promise=i.promise.then(function(e){return j(i,n,!0),o.didTransition&&o.didTransition(o.currentHandlerInfos),e},null,p("Transition complete")),i)},e.prototype.transitionByIntent=function(e){try{return _.apply(this,arguments)}catch(t){return new z(this,e,null,t)}},e.prototype.reset=function(){this.state&&l(this.state.handlerInfos.slice().reverse(),function(e){g(e.handler,"exit")}),this.oldState=void 0,this.state=new D,this.currentHandlerInfos=null},e.prototype.handleURL=function(){for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-var e,t,n,r=t[0]
-return"/"!==r.charAt(0)&&(t[0]="/"+r),S(this,t).method(null)},e.prototype.updateURL=function(){throw new Error("updateURL is not implemented")},e.prototype.replaceURL=function(e){this.updateURL(e)},e.prototype.transitionTo=function(){return S(this,arguments)},e.prototype.intermediateTransitionTo=function(){return S(this,arguments,!0)},e.prototype.refresh=function(e){var t=this.activeTransition,n=t?t.state:this.state,r=n.handlerInfos
-u(this,"Starting a refresh transition")
-var i=new W({name:r[r.length-1].name,pivotHandler:e||r[0].handler,contexts:[],queryParams:this._changedQueryParams||n.queryParams||{}}),o=this.transitionByIntent(i,!1)
-return t&&"replace"===t.urlMethod&&o.method(t.urlMethod),o},e.prototype.replaceWith=function(){return S(this,arguments).method("replace")},e.prototype.generate=function(e){var t,n,r,i,a=s(M.call(arguments,1)),u=a[0],c=a[1],l=new W({name:e,contexts:u}),h=l.applyToState(this.state,this.recognizer,this.getHandler,null,this.getSerializer),d={}
-for(t=0,n=h.handlerInfos.length;t<n;++t)r=h.handlerInfos[t],i=r.serialize(),o(d,i)
-return d.queryParams=c,this.recognizer.generate(e,d)},e.prototype.applyIntent=function(e,t){var n=new W({name:e,contexts:t}),r=this.activeTransition&&this.activeTransition.state||this.state
-return n.applyToState(r,this.recognizer,this.getHandler,null,this.getSerializer)},e.prototype.isActiveIntent=function(e,t,n,r){var i=r||this.state,s=i.handlerInfos,a=void 0,u=void 0
-if(!s.length)return!1
-var c=s[s.length-1].name,l=this.recognizer.handlersFor(c),h=0
-for(u=l.length;h<u&&(a=s[h],a.name!==e);++h);if(h===l.length)return!1
-var p=new D
-p.handlerInfos=s.slice(0,h+1),l=l.slice(0,h+1)
-var f=new W({name:c,contexts:t}),g=f.applyToHandlers(p,l,this.getHandler,c,!0,!0,this.getSerializer),m=T(g.handlerInfos,p.handlerInfos)
-if(!n||!m)return m
-var v={}
-o(v,n)
-var y=i.queryParams
-for(var b in y)y.hasOwnProperty(b)&&v.hasOwnProperty(b)&&(v[b]=y[b])
-return m&&!d(v,n)},e.prototype.isActive=function(e){for(t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r]
-var t,n,r,i=s(n)
-return this.isActiveIntent(e,i[0],i[1])},e.prototype.trigger=function(){var e,t,n
-for(e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n]
-h(this,this.currentHandlerInfos,!1,t)},e}()
-e.default=K,e.Transition=z}),e("rsvp",["exports","ember-babel","node-module"],function(e,t,n){"use strict"
-function r(e){var t=e._promiseCallbacks
-return t||(t=e._promiseCallbacks={}),t}function i(e,t){if(2!==arguments.length)return te[e]
-te[e]=t}function o(){setTimeout(function(){var e,t,n
-for(e=0;e<ne.length;e++)t=ne[e],n=t.payload,n.guid=n.key+n.id,n.childGuid=n.key+n.childId,n.error&&(n.stack=n.error.stack),te.trigger(t.name,t.payload)
-ne.length=0},50)}function s(e,t,n){1===ne.push({name:e,payload:{key:t._guidKey,id:t._id,eventName:e,detail:t._result,childId:n&&n._id,label:t._label,timeStamp:Date.now(),error:te["instrument-with-stack"]?new Error(t._label):null}})&&o()}function a(e,t){var n=this
-if(e&&"object"==typeof e&&e.constructor===n)return e
-var r=new n(l,t)
-return v(r,e),r}function u(){return new TypeError("A promises callback cannot return that same promise.")}function c(e){var t=typeof e
-return null!==e&&("object"===t||"function"===t)}function l(){}function h(e){try{return e.then}catch(e){return se.error=e,se}}function d(){var e
-try{return e=ae,ae=null,e.apply(this,arguments)}catch(e){return se.error=e,se}}function p(e){return ae=e,d}function f(e,t,n){te.async(function(e){var r,i=!1,o=p(n).call(t,function(n){i||(i=!0,t===n?b(e,n):v(e,n))},function(t){i||(i=!0,C(e,t))},"Settle: "+(e._label||" unknown promise"))
-i||o!==se||(i=!0,r=se.error,se.error=null,C(e,r))},e)}function g(e,t){t._state===ie?b(e,t._result):t._state===oe?(t._onError=null,C(e,t._result)):A(t,void 0,function(n){t===n?b(e,n):v(e,n)},function(t){return C(e,t)})}function m(e,t,n){var r,i=t.constructor===e.constructor&&n===x&&e.constructor.resolve===a
-i?g(e,t):n===se?(r=se.error,se.error=null,C(e,r)):"function"==typeof n?f(e,t,n):b(e,t)}function v(e,t){e===t?b(e,t):c(t)?m(e,t,h(t)):b(e,t)}function y(e){e._onError&&e._onError(e._result),_(e)}function b(e,t){e._state===re&&(e._result=t,e._state=ie,0===e._subscribers.length?te.instrument&&s("fulfilled",e):te.async(_,e))}function C(e,t){e._state===re&&(e._state=oe,e._result=t,te.async(y,e))}function A(e,t,n,r){var i=e._subscribers,o=i.length
-e._onError=null,i[o]=t,i[o+ie]=n,i[o+oe]=r,0===o&&e._state&&te.async(_,e)}function _(e){var t,n=e._subscribers,r=e._state
-if(te.instrument&&s(r===ie?"fulfilled":"rejected",e),0!==n.length){var i=void 0,o=void 0,a=e._result
-for(t=0;t<n.length;t+=3)i=n[t],o=n[t+r],i?I(r,i,o,a):o(a)
-e._subscribers.length=0}}function I(e,t,n,r){var i,o="function"==typeof n,s=void 0
-s=o?p(n)(r):r,t._state!==re||(s===t?C(t,u()):s===se?(i=se.error,se.error=null,C(t,i)):o?v(t,s):e===ie?b(t,s):e===oe&&C(t,s))}function w(e,t){var n=!1
-try{t(function(t){n||(n=!0,v(e,t))},function(t){n||(n=!0,C(e,t))})}catch(t){C(e,t)}}function x(e,t,n){var r,i=this,o=i._state
-if(o===ie&&!e||o===oe&&!t)return te.instrument&&s("chained",i,i),i
-i._onError=null
-var a=new i.constructor(l,n),u=i._result
-return te.instrument&&s("chained",i,a),o===re?A(i,a,e,t):(r=o===ie?e:t,te.async(function(){return I(o,a,r,u)})),a}function k(e,t,n){this._remaining--,this._result[t]=e===ie?{state:"fulfilled",value:n}:{state:"rejected",reason:n}}function j(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function E(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function S(e,t){var n,r,i,o={},s=e.length,a=new Array(s)
-for(n=0;n<s;n++)a[n]=e[n]
-for(r=0;r<t.length;r++)i=t[r],o[i]=a[r+1]
-return o}function T(e){var t,n=e.length,r=new Array(n-1)
-for(t=1;t<n;t++)r[t-1]=e[t]
-return r}function P(e,t){return{then:function(n,r){return e.call(t,n,r)}}}function O(e,n){var r=function(){var t,r,i,o,s=arguments.length,a=new Array(s+1),u=!1
-for(t=0;t<s;++t){if(r=arguments[t],!u){if((u=M(r))===se)return i=se.error,se.error=null,o=new he(l),C(o,i),o
-u&&!0!==u&&(r=P(u,r))}a[t]=r}var c=new he(l)
-return a[s]=function(e,t){e?C(c,e):void 0===n?v(c,t):!0===n?v(c,T(arguments)):Array.isArray(n)?v(c,S(arguments,n)):v(c,t)},u?N(c,a,e,this):R(c,a,e,this)}
-return(0,t.defaults)(r,e),r}function R(e,t,n,r){var i,o=p(n).apply(r,t)
-return o===se&&(i=se.error,se.error=null,C(e,i)),e}function N(e,t,n,r){return he.all(t).then(function(t){return R(e,t,n,r)})}function M(e){return null!==e&&"object"==typeof e&&(e.constructor===he||h(e))}function L(e,t){return he.all(e,t)}function D(e,t){return Array.isArray(e)?new de(he,e,t).promise:he.reject(new TypeError("Promise.allSettled must be called with an array"),t)}function z(e,t){return he.race(e,t)}function F(e,t){return null===e||"object"!=typeof e?he.reject(new TypeError("Promise.hash must be called with an object"),t):new pe(he,e,t).promise}function B(e,t){return null===e||"object"!=typeof e?he.reject(new TypeError("RSVP.hashSettled must be called with an object"),t):new fe(he,e,!1,t).promise}function H(e){throw setTimeout(function(){throw e}),e}function U(e){var t={resolve:void 0,reject:void 0}
-return t.promise=new he(function(e,n){t.resolve=e,t.reject=n},e),t}function q(e,t,n){return Array.isArray(e)?"function"!=typeof t?he.reject(new TypeError("RSVP.map expects a function as a second argument"),n):new ge(he,e,t,n).promise:he.reject(new TypeError("RSVP.map must be called with an array"),n)}function V(e,t){return he.resolve(e,t)}function W(e,t){return he.reject(e,t)}function G(e,t,n){return"function"!=typeof t?he.reject(new TypeError("RSVP.filter expects function as a second argument"),n):he.resolve(e,n).then(function(e){if(!Array.isArray(e))throw new TypeError("RSVP.filter must be called with an array")
-return new ve(he,e,t,n).promise})}function Y(e,t){xe[ye]=e,xe[ye+1]=t,2===(ye+=2)&&ke()}function K(){return void 0!==be?function(){be(Z)}:Q()}function Q(){return function(){return setTimeout(Z,1)}}function Z(){var e,t,n
-for(e=0;e<ye;e+=2)t=xe[e],n=xe[e+1],t(n),xe[e]=void 0,xe[e+1]=void 0
-ye=0}function X(){te.on.apply(te,arguments)}function J(){te.off.apply(te,arguments)}e.filter=e.async=e.map=e.reject=e.resolve=e.off=e.on=e.configure=e.denodeify=e.defer=e.rethrow=e.hashSettled=e.hash=e.race=e.allSettled=e.all=e.EventTarget=e.Promise=e.cast=e.asap=void 0
-var $,ee={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e._promiseCallbacks=void 0,e},on:function(e,t){if("function"!=typeof t)throw new TypeError("Callback must be a function")
-var n=r(this),i=n[e]
-i||(i=n[e]=[]),-1===i.indexOf(t)&&i.push(t)},off:function(e,t){var n=r(this)
-if(!t)return void(n[e]=[])
-var i=n[e],o=i.indexOf(t);-1!==o&&i.splice(o,1)},trigger:function(e,t,n){var i,o=r(this),s=o[e]
-if(s)for(void 0,i=0;i<s.length;i++)(0,s[i])(t,n)}},te={instrument:!1}
-ee.mixin(te)
-var ne=[],re=void 0,ie=1,oe=2,se={error:null},ae=void 0,ue=function(){function e(e,t,n,r){this._instanceConstructor=e,this.promise=new e(l,r),this._abortOnReject=n,this._isUsingOwnPromise=e===he,this._isUsingOwnResolve=e.resolve===a,this._init.apply(this,arguments)}return e.prototype._init=function(e,t){var n=t.length||0
-this.length=n,this._remaining=n,this._result=new Array(n),this._enumerate(t)},e.prototype._enumerate=function(e){var t,n=this.length,r=this.promise
-for(t=0;r._state===re&&t<n;t++)this._eachEntry(e[t],t,!0)
-this._checkFullfillment()},e.prototype._checkFullfillment=function(){var e
-0===this._remaining&&(e=this._result,b(this.promise,e),this._result=null)},e.prototype._settleMaybeThenable=function(e,t,n){var r,i,o=this._instanceConstructor
-this._isUsingOwnResolve?(r=h(e),r===x&&e._state!==re?(e._onError=null,this._settledAt(e._state,t,e._result,n)):"function"!=typeof r?this._settledAt(ie,t,e,n):this._isUsingOwnPromise?(i=new o(l),m(i,e,r),this._willSettleAt(i,t,n)):this._willSettleAt(new o(function(t){return t(e)}),t,n)):this._willSettleAt(o.resolve(e),t,n)},e.prototype._eachEntry=function(e,t,n){null!==e&&"object"==typeof e?this._settleMaybeThenable(e,t,n):this._setResultAt(ie,t,e,n)},e.prototype._settledAt=function(e,t,n,r){var i=this.promise
-i._state===re&&(this._abortOnReject&&e===oe?C(i,n):(this._setResultAt(e,t,n,r),this._checkFullfillment()))},e.prototype._setResultAt=function(e,t,n){this._remaining--,this._result[t]=n},e.prototype._willSettleAt=function(e,t,n){var r=this
-A(e,void 0,function(e){return r._settledAt(ie,t,e,n)},function(e){return r._settledAt(oe,t,e,n)})},e}(),ce="rsvp_"+Date.now()+"-",le=0,he=function(){function e(t,n){this._id=le++,this._label=n,this._state=void 0,this._result=void 0,this._subscribers=[],te.instrument&&s("created",this),l!==t&&("function"!=typeof t&&j(),this instanceof e?w(this,t):E())}return e.prototype._onError=function(e){var t=this
-te.after(function(){t._onError&&te.trigger("error",e,t._label)})},e.prototype.catch=function(e,t){return this.then(void 0,e,t)},e.prototype.finally=function(e,t){var n=this,r=n.constructor
-return n.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})},t)},e}()
-he.cast=a,he.all=function(e,t){return Array.isArray(e)?new ue(this,e,!0,t).promise:this.reject(new TypeError("Promise.all must be called with an array"),t)},he.race=function(e,t){var n,r=this,i=new r(l,t)
-if(!Array.isArray(e))return C(i,new TypeError("Promise.race must be called with an array")),i
-for(n=0;i._state===re&&n<e.length;n++)A(r.resolve(e[n]),void 0,function(e){return v(i,e)},function(e){return C(i,e)})
-return i},he.resolve=a,he.reject=function(e,t){var n=this,r=new n(l,t)
-return C(r,e),r},he.prototype._guidKey=ce,he.prototype.then=x
-var de=function(e){function n(n,r,i){return(0,t.possibleConstructorReturn)(this,e.call(this,n,r,!1,i))}return(0,t.inherits)(n,e),n}(ue)
-de.prototype._setResultAt=k
-var pe=function(e){function n(n,r){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments[3]
-return(0,t.possibleConstructorReturn)(this,e.call(this,n,r,i,o))}return(0,t.inherits)(n,e),n.prototype._init=function(e,t){this._result={},this._enumerate(t)},n.prototype._enumerate=function(e){var t,n=Object.keys(e),r=n.length,i=this.promise
-this._remaining=r
-var o=void 0,s=void 0
-for(t=0;i._state===re&&t<r;t++)o=n[t],s=e[o],this._eachEntry(s,o,!0)
-this._checkFullfillment()},n}(ue),fe=function(e){function n(n,r,i){return(0,t.possibleConstructorReturn)(this,e.call(this,n,r,!1,i))}return(0,t.inherits)(n,e),n}(pe)
-fe.prototype._setResultAt=k
-var ge=function(e){function n(n,r,i,o){return(0,t.possibleConstructorReturn)(this,e.call(this,n,r,!0,o,i))}return(0,t.inherits)(n,e),n.prototype._init=function(e,t,n,r,i){var o=t.length||0
-this.length=o,this._remaining=o,this._result=new Array(o),this._mapFn=i,this._enumerate(t)},n.prototype._setResultAt=function(e,t,n,r){var i
-r?(i=p(this._mapFn)(n,t),i===se?this._settledAt(oe,t,i.error,!1):this._eachEntry(i,t,!1)):(this._remaining--,this._result[t]=n)},n}(ue),me={},ve=function(e){function n(){return(0,t.possibleConstructorReturn)(this,e.apply(this,arguments))}return(0,t.inherits)(n,e),n.prototype._checkFullfillment=function(){var e
-0===this._remaining&&null!==this._result&&(e=this._result.filter(function(e){return e!==me}),b(this.promise,e),this._result=null)},n.prototype._setResultAt=function(e,t,n,r){var i
-r?(this._result[t]=n,i=p(this._mapFn)(n,t),i===se?this._settledAt(oe,t,i.error,!1):this._eachEntry(i,t,!1)):(this._remaining--,n||(this._result[t]=me))},n}(ge),ye=0,be=void 0,Ce="undefined"!=typeof window?window:void 0,Ae=Ce||{},_e=Ae.MutationObserver||Ae.WebKitMutationObserver,Ie="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),we="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,xe=new Array(1e3),ke=void 0
-ke=Ie?function(){var e=process.nextTick,t=process.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/)
-return Array.isArray(t)&&"0"===t[1]&&"10"===t[2]&&(e=setImmediate),function(){return e(Z)}}():_e?function(){var e=0,t=new _e(Z),n=document.createTextNode("")
-return t.observe(n,{characterData:!0}),function(){return n.data=e=++e%2}}():we?function(){var e=new MessageChannel
-return e.port1.onmessage=Z,function(){return e.port2.postMessage(0)}}():void 0===Ce&&"function"==typeof n.require?function(){var e
-try{return e=Function("return this")().require("vertx"),be=e.runOnLoop||e.runOnContext,K()}catch(e){return Q()}}():Q(),te.async=Y,te.after=function(e){return setTimeout(e,0)}
-var je=V,Ee=function(e,t){return te.async(e,t)}
-if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){$=window.__PROMISE_INSTRUMENTATION__,i("instrument",!0)
-for(var Se in $)$.hasOwnProperty(Se)&&X(Se,$[Se])}e.default={asap:Y,cast:je,Promise:he,EventTarget:ee,all:L,allSettled:D,race:z,hash:F,hashSettled:B,rethrow:H,defer:U,denodeify:O,configure:i,on:X,off:J,resolve:V,reject:W,map:q,async:Ee,filter:G},e.asap=Y,e.cast=je,e.Promise=he,e.EventTarget=ee,e.all=L,e.allSettled=D,e.race=z,e.hash=F,e.hashSettled=B,e.rethrow=H,e.defer=U,e.denodeify=O,e.configure=i,e.on=X,e.off=J,e.resolve=V,e.reject=W,e.map=q,e.async=Ee,e.filter=G}),t("ember")}(),function(){define("ember-cli-shims/deprecations",[],function(){var e={"ember-application":{default:["@ember/application"]},"ember-array":{default:["@ember/array"]},"ember-array/mutable":{default:["@ember/array/mutable"]},"ember-array/utils":{A:["@ember/array","A"],isEmberArray:["@ember/array","isArray"],wrap:["@ember/array","makeArray"]},"ember-component":{default:["@ember/component"]},"ember-components/checkbox":{default:["@ember/component/checkbox"]},"ember-components/text-area":{default:["@ember/component/text-area"]},"ember-components/text-field":{default:["@ember/component/text-field"]},"ember-controller":{default:["@ember/controller"]},"ember-controller/inject":{default:["@ember/controller","inject"]},"ember-controller/proxy":{default:["@ember/array/proxy"]},"ember-debug":{log:["@ember/debug","debug"],inspect:["@ember/debug","inspect"],run:["@ember/debug","runInDebug"],warn:["@ember/debug","warn"]},"ember-debug/container-debug-adapter":{default:["@ember/debug/container-debug-adapter"]},"ember-debug/data-adapter":{default:["@ember/debug/data-adapter"]},"ember-deprecations":{deprecate:["@ember/application/deprecations","deprecate"],deprecateFunc:["@ember/application/deprecations","deprecateFunc"]},"ember-enumerable":{default:["@ember/enumerable"]},"ember-evented":{default:["@ember/object/evented"]},"ember-evented/on":{default:["@ember/object/evented","on"]},"ember-globals-resolver":{default:["@ember/application/globals-resolver"]},"ember-helper":{default:["@ember/component/helper"],helper:["@ember/component/helper","helper"]},"ember-instrumentation":{instrument:["@ember/instrumentation","instrument"],reset:["@ember/instrumentation","reset"],subscribe:["@ember/instrumentation","subscribe"],unsubscribe:["@ember/instrumentation","unsubscribe"]},"ember-locations/hash":{default:["@ember/routing/hash-location"]},"ember-locations/history":{default:["@ember/routing/history-location"]},"ember-locations/none":{default:["@ember/routing/none-location"]},"ember-map":{default:["@ember/map"],withDefault:["@ember/map/with-default"]},"ember-metal/events":{addListener:["@ember/object/events","addListener"],removeListener:["@ember/object/events","removeListener"],send:["@ember/object/events","sendEvent"]},"ember-metal/get":{default:["@ember/object","get"],getProperties:["@ember/object","getProperties"]},"ember-metal/mixin":{default:["@ember/object/mixin"]},"ember-metal/observer":{default:["@ember/object","observer"],addObserver:["@ember/object/observers","addObserver"],removeObserver:["@ember/object/observers","removeObserver"]},"ember-metal/on-load":{default:["@ember/application","onLoad"],run:["@ember/application","runLoadHooks"]},"ember-metal/set":{default:["@ember/object","set"],setProperties:["@ember/object","setProperties"],trySet:["@ember/object","trySet"]},"ember-metal/utils":{aliasMethod:["@ember/object","aliasMethod"],assert:["@ember/debug","assert"],cacheFor:["@ember/object/internals","cacheFor"],copy:["@ember/object/internals","copy"],guidFor:["@ember/object/internals","guidFor"]},"ember-object":{default:["@ember/object"]},"ember-owner/get":{default:["@ember/application","getOwner"]},"ember-owner/set":{default:["@ember/application","setOwner"]},"ember-platform":{assign:["@ember/polyfills","assign"],create:["@ember/polyfills","create"],hasAccessors:["@ember/polyfills","hasPropertyAccessors"],keys:["@ember/polyfills","keys"]},"ember-route":{default:["@ember/routing/route"]},"ember-router":{default:["@ember/routing/router"]},"ember-runloop":{default:["@ember/runloop","run"],begin:["@ember/runloop","begin"],bind:["@ember/runloop","bind"],cancel:["@ember/runloop","cancel"],debounce:["@ember/runloop","debounce"],end:["@ember/runloop","end"],join:["@ember/runloop","join"],later:["@ember/runloop","later"],next:["@ember/runloop","next"],once:["@ember/runloop","once"],schedule:["@ember/runloop","schedule"],scheduleOnce:["@ember/runloop","scheduleOnce"],throttle:["@ember/runloop","throttle"]},"ember-service":{default:["@ember/service"]},"ember-service/inject":{default:["@ember/service","inject"]},"ember-string":{camelize:["@ember/string","camelize"],capitalize:["@ember/string","capitalize"],classify:["@ember/string","classify"],dasherize:["@ember/string","dasherize"],decamelize:["@ember/string","decamelize"],fmt:["@ember/string","fmt"],htmlSafe:["@ember/string","htmlSafe"],loc:["@ember/string","loc"],underscore:["@ember/string","underscore"],w:["@ember/string","w"]},"ember-utils":{isBlank:["@ember/utils","isBlank"],isEmpty:["@ember/utils","isEmpty"],isNone:["@ember/utils","isNone"],isPresent:["@ember/utils","isPresent"],tryInvoke:["@ember/utils","tryInvoke"],typeOf:["@ember/utils","typeOf"]},"ember-computed":{default:["@ember/object","computed"],empty:["@ember/object/computed","empty"],notEmpty:["@ember/object/computed","notEmpty"],none:["@ember/object/computed","none"],not:["@ember/object/computed","not"],bool:["@ember/object/computed","bool"],match:["@ember/object/computed","match"],equal:["@ember/object/computed","equal"],gt:["@ember/object/computed","gt"],gte:["@ember/object/computed","gte"],lt:["@ember/object/computed","lt"],lte:["@ember/object/computed","lte"],alias:["@ember/object/computed","alias"],oneWay:["@ember/object/computed","oneWay"],reads:["@ember/object/computed","reads"],readOnly:["@ember/object/computed","readOnly"],deprecatingAlias:["@ember/object/computed","deprecatingAlias"],and:["@ember/object/computed","and"],or:["@ember/object/computed","or"],collect:["@ember/object/computed","collect"],sum:["@ember/object/computed","sum"],min:["@ember/object/computed","min"],max:["@ember/object/computed","max"],map:["@ember/object/computed","map"],sort:["@ember/object/computed","sort"],setDiff:["@ember/object/computed","setDiff"],mapBy:["@ember/object/computed","mapBy"],mapProperty:["@ember/object/computed","mapProperty"],filter:["@ember/object/computed","filter"],filterBy:["@ember/object/computed","filterBy"],filterProperty:["@ember/object/computed","filterProperty"],uniq:["@ember/object/computed","uniq"],union:["@ember/object/computed","union"],intersect:["@ember/object/computed","intersect"]},"ember-test/adapter":{default:["@ember/test/adapter"]}}
-return Object.defineProperty(e,"__esModule",{value:!0}),e})}(),function(){function e(e,t,n){define(e,["ember-cli-shims/deprecations"],function(r){"use strict"
-if(n){var i=r[e],o="Importing from the `"+e+"` module has been deprecated. "
-i?(o+="Please use the new module imports:\n\n",Object.keys(i).forEach(function(e){var t=i[e]
-if(t[1])o+="import { "+t[1]+" } from '"+t[0]+"'\n"
-else{var n=Ember.String.classify(t[0].split("/").pop())
-o+="import "+n+" from '"+t[0]+"'\n"}}),o+="\n"):o+="Please use globals instead.",Ember.deprecate(o,!1,{id:"ember-cli-shims.deprecated-shims",until:"3.0.0",url:"https://github.com/emberjs/rfcs/blob/master/text/0176-javascript-module-api.md"})}return Object.defineProperty(t,"__esModule",{value:!0}),t})}e("ember",{default:Ember}),function(){var t={"ember-application":{default:Ember.Application},"ember-array":{default:Ember.Array},"ember-array/mutable":{default:Ember.MutableArray},"ember-array/utils":{A:Ember.A,isEmberArray:Ember.isArray,wrap:Ember.makeArray},"ember-component":{default:Ember.Component},"ember-components/checkbox":{default:Ember.Checkbox},"ember-components/text-area":{default:Ember.TextArea},"ember-components/text-field":{default:Ember.TextField},"ember-controller":{default:Ember.Controller},"ember-controller/inject":{default:Ember.inject.controller},"ember-controller/proxy":{default:Ember.ArrayProxy},"ember-controllers/sortable":{default:Ember.SortableMixin},"ember-debug":{log:Ember.debug,inspect:Ember.inspect,run:Ember.runInDebug,warn:Ember.warn},"ember-debug/container-debug-adapter":{default:Ember.ContainerDebugAdapter},"ember-debug/data-adapter":{default:Ember.DataAdapter},"ember-deprecations":{deprecate:Ember.deprecate,deprecateFunc:Ember.deprecateFunc},"ember-enumerable":{default:Ember.Enumerable},"ember-evented":{default:Ember.Evented},"ember-evented/on":{default:Ember.on},"ember-globals-resolver":{default:Ember.DefaultResolver},"ember-helper":{default:Ember.Helper,helper:Ember.Helper&&Ember.Helper.helper},"ember-instrumentation":{instrument:Ember.Instrumentation.instrument,reset:Ember.Instrumentation.reset,subscribe:Ember.Instrumentation.subscribe,unsubscribe:Ember.Instrumentation.unsubscribe},"ember-locations/hash":{default:Ember.HashLocation},"ember-locations/history":{default:Ember.HistoryLocation},"ember-locations/none":{default:Ember.NoneLocation},"ember-map":{default:Ember.Map,withDefault:Ember.MapWithDefault},"ember-metal/destroy":{default:Ember.destroy},"ember-metal/events":{addListener:Ember.addListener,removeListener:Ember.removeListener,send:Ember.sendEvent},"ember-metal/get":{default:Ember.get,getProperties:Ember.getProperties},"ember-metal/mixin":{default:Ember.Mixin},"ember-metal/observer":{default:Ember.observer,addObserver:Ember.addObserver,removeObserver:Ember.removeObserver},"ember-metal/on-load":{default:Ember.onLoad,run:Ember.runLoadHooks},"ember-metal/set":{default:Ember.set,setProperties:Ember.setProperties,trySet:Ember.trySet},"ember-metal/utils":{aliasMethod:Ember.aliasMethod,assert:Ember.assert,cacheFor:Ember.cacheFor,copy:Ember.copy,guidFor:Ember.guidFor},"ember-object":{default:Ember.Object},"ember-owner/get":{default:Ember.getOwner},"ember-owner/set":{default:Ember.setOwner},"ember-platform":{assign:Ember.assign||Ember.merge,create:Ember.create,defineProperty:Ember.platform.defineProperty,hasAccessors:Ember.platform.hasPropertyAccessors,keys:Ember.keys},"ember-route":{default:Ember.Route},"ember-router":{default:Ember.Router},"ember-runloop":{default:Ember.run,begin:Ember.run.begin,bind:Ember.run.bind,cancel:Ember.run.cancel,debounce:Ember.run.debounce,end:Ember.run.end,join:Ember.run.join,later:Ember.run.later,next:Ember.run.next,once:Ember.run.once,schedule:Ember.run.schedule,scheduleOnce:Ember.run.scheduleOnce,throttle:Ember.run.throttle},"ember-service":{default:Ember.Service},"ember-service/inject":{default:Ember.inject.service},"ember-set/ordered":{default:Ember.OrderedSet},"ember-string":{camelize:Ember.String.camelize,capitalize:Ember.String.capitalize,classify:Ember.String.classify,dasherize:Ember.String.dasherize,decamelize:Ember.String.decamelize,fmt:Ember.String.fmt,htmlSafe:Ember.String.htmlSafe,loc:Ember.String.loc,underscore:Ember.String.underscore,w:Ember.String.w},"ember-utils":{isBlank:Ember.isBlank,isEmpty:Ember.isEmpty,isNone:Ember.isNone,isPresent:Ember.isPresent,tryInvoke:Ember.tryInvoke,typeOf:Ember.typeOf}}
-t["ember-computed"]={default:Ember.computed}
-for(var n=["empty","notEmpty","none","not","bool","match","equal","gt","gte","lt","lte","alias","oneWay","reads","readOnly","deprecatingAlias","and","or","collect","sum","min","max","map","sort","setDiff","mapBy","mapProperty","filter","filterBy","filterProperty","uniq","union","intersect"],r=0,i=n.length;r<i;r++){var o=n[r]
-t["ember-computed"][o]=Ember.computed[o]}for(var s in t)e(s,t[s],!0)}(),function(){if(Ember.Test){var t={"ember-test":{default:Ember.Test},"ember-test/adapter":{default:Ember.Test.Adapter},"ember-test/qunit-adapter":{default:Ember.Test.QUnitAdapter}}
-for(var n in t)e(n,t[n])}}(),e("jquery",{default:self.jQuery}),e("rsvp",{default:Ember.RSVP})}(),createDeprecatedModule("ember/resolver"),createDeprecatedModule("resolver"),function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(e){e.ui=e.ui||{},e.ui.version="1.12.1"
-var t=0,n=Array.prototype.slice
-e.cleanData=function(t){return function(n){var r,i,o
-for(o=0;null!=(i=n[o]);o++)try{(r=e._data(i,"events"))&&r.remove&&e(i).triggerHandler("remove")}catch(e){}t(n)}}(e.cleanData),e.widget=function(t,n,r){var i,o,s,a={},u=t.split(".")[0]
-t=t.split(".")[1]
-var c=u+"-"+t
-return r||(r=n,n=e.Widget),e.isArray(r)&&(r=e.extend.apply(null,[{}].concat(r))),e.expr[":"][c.toLowerCase()]=function(t){return!!e.data(t,c)},e[u]=e[u]||{},i=e[u][t],o=e[u][t]=function(e,t){return this._createWidget?void(arguments.length&&this._createWidget(e,t)):new o(e,t)},e.extend(o,i,{version:r.version,_proto:e.extend({},r),_childConstructors:[]}),s=new n,s.options=e.widget.extend({},s.options),e.each(r,function(t,r){return e.isFunction(r)?void(a[t]=function(){function e(){return n.prototype[t].apply(this,arguments)}function i(e){return n.prototype[t].apply(this,e)}return function(){var t,n=this._super,o=this._superApply
-return this._super=e,this._superApply=i,t=r.apply(this,arguments),this._super=n,this._superApply=o,t}}()):void(a[t]=r)}),o.prototype=e.widget.extend(s,{widgetEventPrefix:i?s.widgetEventPrefix||t:t},a,{constructor:o,namespace:u,widgetName:t,widgetFullName:c}),i?(e.each(i._childConstructors,function(t,n){var r=n.prototype
-e.widget(r.namespace+"."+r.widgetName,o,n._proto)}),delete i._childConstructors):n._childConstructors.push(o),e.widget.bridge(t,o),o},e.widget.extend=function(t){for(var r,i,o=n.call(arguments,1),s=0,a=o.length;a>s;s++)for(r in o[s])i=o[s][r],o[s].hasOwnProperty(r)&&void 0!==i&&(t[r]=e.isPlainObject(i)?e.isPlainObject(t[r])?e.widget.extend({},t[r],i):e.widget.extend({},i):i)
-return t},e.widget.bridge=function(t,r){var i=r.prototype.widgetFullName||t
-e.fn[t]=function(o){var s="string"==typeof o,a=n.call(arguments,1),u=this
-return s?this.length||"instance"!==o?this.each(function(){var n,r=e.data(this,i)
-return"instance"===o?(u=r,!1):r?e.isFunction(r[o])&&"_"!==o.charAt(0)?(n=r[o].apply(r,a),n!==r&&void 0!==n?(u=n&&n.jquery?u.pushStack(n.get()):n,!1):void 0):e.error("no such method '"+o+"' for "+t+" widget instance"):e.error("cannot call methods on "+t+" prior to initialization; attempted to call method '"+o+"'")}):u=void 0:(a.length&&(o=e.widget.extend.apply(null,[o].concat(a))),this.each(function(){var t=e.data(this,i)
-t?(t.option(o||{}),t._init&&t._init()):e.data(this,i,new r(o,this))})),u}},e.Widget=function(){},e.Widget._childConstructors=[],e.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(n,r){r=e(r||this.defaultElement||this)[0],this.element=e(r),this.uuid=t++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=e(),this.hoverable=e(),this.focusable=e(),this.classesElementLookup={},r!==this&&(e.data(r,this.widgetFullName,this),this._on(!0,this.element,{remove:function(e){e.target===r&&this.destroy()}}),this.document=e(r.style?r.ownerDocument:r.document||r),this.window=e(this.document[0].defaultView||this.document[0].parentWindow)),this.options=e.widget.extend({},this.options,this._getCreateOptions(),n),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:e.noop,_create:e.noop,_init:e.noop,destroy:function(){var t=this
-this._destroy(),e.each(this.classesElementLookup,function(e,n){t._removeClass(n,e)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:e.noop,widget:function(){return this.element},option:function(t,n){var r,i,o,s=t
-if(0===arguments.length)return e.widget.extend({},this.options)
-if("string"==typeof t)if(s={},r=t.split("."),t=r.shift(),r.length){for(i=s[t]=e.widget.extend({},this.options[t]),o=0;r.length-1>o;o++)i[r[o]]=i[r[o]]||{},i=i[r[o]]
-if(t=r.pop(),1===arguments.length)return void 0===i[t]?null:i[t]
-i[t]=n}else{if(1===arguments.length)return void 0===this.options[t]?null:this.options[t]
-s[t]=n}return this._setOptions(s),this},_setOptions:function(e){var t
-for(t in e)this._setOption(t,e[t])
-return this},_setOption:function(e,t){return"classes"===e&&this._setOptionClasses(t),this.options[e]=t,"disabled"===e&&this._setOptionDisabled(t),this},_setOptionClasses:function(t){var n,r,i
-for(n in t)i=this.classesElementLookup[n],t[n]!==this.options.classes[n]&&i&&i.length&&(r=e(i.get()),this._removeClass(i,n),r.addClass(this._classes({element:r,keys:n,classes:t,add:!0})))},_setOptionDisabled:function(e){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!e),e&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(t){function n(n,o){var s,a
-for(a=0;n.length>a;a++)s=i.classesElementLookup[n[a]]||e(),s=e(t.add?e.unique(s.get().concat(t.element.get())):s.not(t.element).get()),i.classesElementLookup[n[a]]=s,r.push(n[a]),o&&t.classes[n[a]]&&r.push(t.classes[n[a]])}var r=[],i=this
-return t=e.extend({element:this.element,classes:this.options.classes||{}},t),this._on(t.element,{remove:"_untrackClassesElement"}),t.keys&&n(t.keys.match(/\S+/g)||[],!0),t.extra&&n(t.extra.match(/\S+/g)||[]),r.join(" ")},_untrackClassesElement:function(t){var n=this
-e.each(n.classesElementLookup,function(r,i){-1!==e.inArray(t.target,i)&&(n.classesElementLookup[r]=e(i.not(t.target).get()))})},_removeClass:function(e,t,n){return this._toggleClass(e,t,n,!1)},_addClass:function(e,t,n){return this._toggleClass(e,t,n,!0)},_toggleClass:function(e,t,n,r){r="boolean"==typeof r?r:n
-var i="string"==typeof e||null===e,o={extra:i?t:n,keys:i?e:t,element:i?this.element:e,add:r}
-return o.element.toggleClass(this._classes(o),r),this},_on:function(t,n,r){var i,o=this
-"boolean"!=typeof t&&(r=n,n=t,t=!1),r?(n=i=e(n),this.bindings=this.bindings.add(n)):(r=n,n=this.element,i=this.widget()),e.each(r,function(r,s){function a(){return t||!0!==o.options.disabled&&!e(this).hasClass("ui-state-disabled")?("string"==typeof s?o[s]:s).apply(o,arguments):void 0}"string"!=typeof s&&(a.guid=s.guid=s.guid||a.guid||e.guid++)
-var u=r.match(/^([\w:-]*)\s*(.*)$/),c=u[1]+o.eventNamespace,l=u[2]
-l?i.on(c,l,a):n.on(c,a)})},_off:function(t,n){n=(n||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.off(n).off(n),this.bindings=e(this.bindings.not(t).get()),this.focusable=e(this.focusable.not(t).get()),this.hoverable=e(this.hoverable.not(t).get())},_delay:function(e,t){function n(){return("string"==typeof e?r[e]:e).apply(r,arguments)}var r=this
-return setTimeout(n,t||0)},_hoverable:function(t){this.hoverable=this.hoverable.add(t),this._on(t,{mouseenter:function(t){this._addClass(e(t.currentTarget),null,"ui-state-hover")},mouseleave:function(t){this._removeClass(e(t.currentTarget),null,"ui-state-hover")}})},_focusable:function(t){this.focusable=this.focusable.add(t),this._on(t,{focusin:function(t){this._addClass(e(t.currentTarget),null,"ui-state-focus")},focusout:function(t){this._removeClass(e(t.currentTarget),null,"ui-state-focus")}})},_trigger:function(t,n,r){var i,o,s=this.options[t]
-if(r=r||{},n=e.Event(n),n.type=(t===this.widgetEventPrefix?t:this.widgetEventPrefix+t).toLowerCase(),n.target=this.element[0],o=n.originalEvent)for(i in o)i in n||(n[i]=o[i])
-return this.element.trigger(n,r),!(e.isFunction(s)&&!1===s.apply(this.element[0],[n].concat(r))||n.isDefaultPrevented())}},e.each({show:"fadeIn",hide:"fadeOut"},function(t,n){e.Widget.prototype["_"+t]=function(r,i,o){"string"==typeof i&&(i={effect:i})
-var s,a=i?!0===i||"number"==typeof i?n:i.effect||n:t
-i=i||{},"number"==typeof i&&(i={duration:i}),s=!e.isEmptyObject(i),i.complete=o,i.delay&&r.delay(i.delay),s&&e.effects&&e.effects.effect[a]?r[t](i):a!==t&&r[a]?r[a](i.duration,i.easing,o):r.queue(function(n){e(this)[t](),o&&o.call(r[0]),n()})}}),e.widget,e.extend(e.expr[":"],{data:e.expr.createPseudo?e.expr.createPseudo(function(t){return function(n){return!!e.data(n,t)}}):function(t,n,r){return!!e.data(t,r[3])}}),e.fn.extend({disableSelection:function(){var e="onselectstart"in document.createElement("div")?"selectstart":"mousedown"
-return function(){return this.on(e+".ui-disableSelection",function(e){e.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),e.fn.scrollParent=function(t){var n=this.css("position"),r="absolute"===n,i=t?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var t=e(this)
-return(!r||"static"!==t.css("position"))&&i.test(t.css("overflow")+t.css("overflow-y")+t.css("overflow-x"))}).eq(0)
-return"fixed"!==n&&o.length?o:e(this[0].ownerDocument||document)},e.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase())
-var r=!1
-e(document).on("mouseup",function(){r=!1}),e.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var t=this
-this.element.on("mousedown."+this.widgetName,function(e){return t._mouseDown(e)}).on("click."+this.widgetName,function(n){return!0===e.data(n.target,t.widgetName+".preventClickEvent")?(e.removeData(n.target,t.widgetName+".preventClickEvent"),n.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(t){if(!r){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(t),this._mouseDownEvent=t
-var n=this,i=1===t.which,o=!("string"!=typeof this.options.cancel||!t.target.nodeName)&&e(t.target).closest(this.options.cancel).length
-return!(i&&!o&&this._mouseCapture(t))||(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){n.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(t),!this._mouseStarted)?(t.preventDefault(),!0):(!0===e.data(t.target,this.widgetName+".preventClickEvent")&&e.removeData(t.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(e){return n._mouseMove(e)},this._mouseUpDelegate=function(e){return n._mouseUp(e)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),t.preventDefault(),r=!0,!0))}},_mouseMove:function(t){if(this._mouseMoved){if(e.ui.ie&&(!document.documentMode||9>document.documentMode)&&!t.button)return this._mouseUp(t)
-if(!t.which)if(t.originalEvent.altKey||t.originalEvent.ctrlKey||t.originalEvent.metaKey||t.originalEvent.shiftKey)this.ignoreMissingWhich=!0
-else if(!this.ignoreMissingWhich)return this._mouseUp(t)}return(t.which||t.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(t),t.preventDefault()):(this._mouseDistanceMet(t)&&this._mouseDelayMet(t)&&(this._mouseStarted=!1!==this._mouseStart(this._mouseDownEvent,t),this._mouseStarted?this._mouseDrag(t):this._mouseUp(t)),!this._mouseStarted)},_mouseUp:function(t){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,t.target===this._mouseDownEvent.target&&e.data(t.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(t)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,r=!1,t.preventDefault()},_mouseDistanceMet:function(e){return Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),e.ui.plugin={add:function(t,n,r){var i,o=e.ui[t].prototype
-for(i in r)o.plugins[i]=o.plugins[i]||[],o.plugins[i].push([n,r[i]])},call:function(e,t,n,r){var i,o=e.plugins[t]
-if(o&&(r||e.element[0].parentNode&&11!==e.element[0].parentNode.nodeType))for(i=0;o.length>i;i++)e.options[o[i][0]]&&o[i][1].apply(e.element,n)}},e.ui.safeActiveElement=function(e){var t
-try{t=e.activeElement}catch(n){t=e.body}return t||(t=e.body),t.nodeName||(t=e.body),t},e.ui.safeBlur=function(t){t&&"body"!==t.nodeName.toLowerCase()&&e(t).trigger("blur")},e.widget("ui.draggable",e.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(e,t){this._super(e,t),"handle"===e&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?void(this.destroyOnClear=!0):(this._removeHandleClassName(),void this._mouseDestroy())},_mouseCapture:function(t){var n=this.options
-return!(this.helper||n.disabled||e(t.target).closest(".ui-resizable-handle").length>0)&&(this.handle=this._getHandle(t),!!this.handle&&(this._blurActiveElement(t),this._blockFrames(!0===n.iframeFix?"iframe":n.iframeFix),!0))},_blockFrames:function(t){this.iframeBlocks=this.document.find(t).map(function(){var t=e(this)
-return e("<div>").css("position","absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(t){var n=e.ui.safeActiveElement(this.document[0])
-e(t.target).closest(n).length||e.ui.safeBlur(n)},_mouseStart:function(t){var n=this.options
-return this.helper=this._createHelper(t),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),e.ui.ddmanager&&(e.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===e(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(t),this.originalPosition=this.position=this._generatePosition(t,!1),this.originalPageX=t.pageX,this.originalPageY=t.pageY,n.cursorAt&&this._adjustOffsetFromHelper(n.cursorAt),this._setContainment(),!1===this._trigger("start",t)?(this._clear(),!1):(this._cacheHelperProportions(),e.ui.ddmanager&&!n.dropBehaviour&&e.ui.ddmanager.prepareOffsets(this,t),this._mouseDrag(t,!0),e.ui.ddmanager&&e.ui.ddmanager.dragStart(this,t),!0)},_refreshOffsets:function(e){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top}},_mouseDrag:function(t,n){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(t,!0),this.positionAbs=this._convertPositionTo("absolute"),!n){var r=this._uiHash()
-if(!1===this._trigger("drag",t,r))return this._mouseUp(new e.Event("mouseup",t)),!1
-this.position=r.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",e.ui.ddmanager&&e.ui.ddmanager.drag(this,t),!1},_mouseStop:function(t){var n=this,r=!1
-return e.ui.ddmanager&&!this.options.dropBehaviour&&(r=e.ui.ddmanager.drop(this,t)),this.dropped&&(r=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!r||"valid"===this.options.revert&&r||!0===this.options.revert||e.isFunction(this.options.revert)&&this.options.revert.call(this.element,r)?e(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){!1!==n._trigger("stop",t)&&n._clear()}):!1!==this._trigger("stop",t)&&this._clear(),!1},_mouseUp:function(t){return this._unblockFrames(),e.ui.ddmanager&&e.ui.ddmanager.dragStop(this,t),this.handleElement.is(t.target)&&this.element.trigger("focus"),e.ui.mouse.prototype._mouseUp.call(this,t)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new e.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(t){return!this.options.handle||!!e(t.target).closest(this.element.find(this.options.handle)).length},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(t){var n=this.options,r=e.isFunction(n.helper),i=r?e(n.helper.apply(this.element[0],[t])):"clone"===n.helper?this.element.clone().removeAttr("id"):this.element
-return i.parents("body").length||i.appendTo("parent"===n.appendTo?this.element[0].parentNode:n.appendTo),r&&i[0]===this.element[0]&&this._setPositionRelative(),i[0]===this.element[0]||/(fixed|absolute)/.test(i.css("position"))||i.css("position","absolute"),i},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(t){"string"==typeof t&&(t=t.split(" ")),e.isArray(t)&&(t={left:+t[0],top:+t[1]||0}),"left"in t&&(this.offset.click.left=t.left+this.margins.left),"right"in t&&(this.offset.click.left=this.helperProportions.width-t.right+this.margins.left),"top"in t&&(this.offset.click.top=t.top+this.margins.top),"bottom"in t&&(this.offset.click.top=this.helperProportions.height-t.bottom+this.margins.top)},_isRootNode:function(e){return/(html|body)/i.test(e.tagName)||e===this.document[0]},_getParentOffset:function(){var t=this.offsetParent.offset(),n=this.document[0]
-return"absolute"===this.cssPosition&&this.scrollParent[0]!==n&&e.contains(this.scrollParent[0],this.offsetParent[0])&&(t.left+=this.scrollParent.scrollLeft(),t.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(t={top:0,left:0}),{top:t.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:t.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0}
-var e=this.element.position(),t=this._isRootNode(this.scrollParent[0])
-return{top:e.top-(parseInt(this.helper.css("top"),10)||0)+(t?0:this.scrollParent.scrollTop()),left:e.left-(parseInt(this.helper.css("left"),10)||0)+(t?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var t,n,r,i=this.options,o=this.document[0]
-return this.relativeContainer=null,i.containment?"window"===i.containment?void(this.containment=[e(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,e(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,e(window).scrollLeft()+e(window).width()-this.helperProportions.width-this.margins.left,e(window).scrollTop()+(e(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):"document"===i.containment?void(this.containment=[0,0,e(o).width()-this.helperProportions.width-this.margins.left,(e(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]):i.containment.constructor===Array?void(this.containment=i.containment):("parent"===i.containment&&(i.containment=this.helper[0].parentNode),n=e(i.containment),void((r=n[0])&&(t=/(scroll|auto)/.test(n.css("overflow")),this.containment=[(parseInt(n.css("borderLeftWidth"),10)||0)+(parseInt(n.css("paddingLeft"),10)||0),(parseInt(n.css("borderTopWidth"),10)||0)+(parseInt(n.css("paddingTop"),10)||0),(t?Math.max(r.scrollWidth,r.offsetWidth):r.offsetWidth)-(parseInt(n.css("borderRightWidth"),10)||0)-(parseInt(n.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(t?Math.max(r.scrollHeight,r.offsetHeight):r.offsetHeight)-(parseInt(n.css("borderBottomWidth"),10)||0)-(parseInt(n.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=n))):void(this.containment=null)},_convertPositionTo:function(e,t){t||(t=this.position)
-var n="absolute"===e?1:-1,r=this._isRootNode(this.scrollParent[0])
-return{top:t.top+this.offset.relative.top*n+this.offset.parent.top*n-("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top)*n,left:t.left+this.offset.relative.left*n+this.offset.parent.left*n-("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)*n}},_generatePosition:function(e,t){var n,r,i,o,s=this.options,a=this._isRootNode(this.scrollParent[0]),u=e.pageX,c=e.pageY
-return a&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),t&&(this.containment&&(this.relativeContainer?(r=this.relativeContainer.offset(),n=[this.containment[0]+r.left,this.containment[1]+r.top,this.containment[2]+r.left,this.containment[3]+r.top]):n=this.containment,e.pageX-this.offset.click.left<n[0]&&(u=n[0]+this.offset.click.left),e.pageY-this.offset.click.top<n[1]&&(c=n[1]+this.offset.click.top),e.pageX-this.offset.click.left>n[2]&&(u=n[2]+this.offset.click.left),e.pageY-this.offset.click.top>n[3]&&(c=n[3]+this.offset.click.top)),s.grid&&(i=s.grid[1]?this.originalPageY+Math.round((c-this.originalPageY)/s.grid[1])*s.grid[1]:this.originalPageY,c=n?i-this.offset.click.top>=n[1]||i-this.offset.click.top>n[3]?i:i-this.offset.click.top>=n[1]?i-s.grid[1]:i+s.grid[1]:i,o=s.grid[0]?this.originalPageX+Math.round((u-this.originalPageX)/s.grid[0])*s.grid[0]:this.originalPageX,u=n?o-this.offset.click.left>=n[0]||o-this.offset.click.left>n[2]?o:o-this.offset.click.left>=n[0]?o-s.grid[0]:o+s.grid[0]:o),"y"===s.axis&&(u=this.originalPageX),"x"===s.axis&&(c=this.originalPageY)),{top:c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:a?0:this.offset.scroll.top),left:u-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:a?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(t,n,r){return r=r||this._uiHash(),e.ui.plugin.call(this,t,[n,r,this],!0),/^(drag|start|stop)/.test(t)&&(this.positionAbs=this._convertPositionTo("absolute"),r.offset=this.positionAbs),e.Widget.prototype._trigger.call(this,t,n,r)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),e.ui.plugin.add("draggable","connectToSortable",{start:function(t,n,r){var i=e.extend({},n,{item:r.element})
-r.sortables=[],e(r.options.connectToSortable).each(function(){var n=e(this).sortable("instance")
-n&&!n.options.disabled&&(r.sortables.push(n),n.refreshPositions(),n._trigger("activate",t,i))})},stop:function(t,n,r){var i=e.extend({},n,{item:r.element})
-r.cancelHelperRemoval=!1,e.each(r.sortables,function(){var e=this
-e.isOver?(e.isOver=0,r.cancelHelperRemoval=!0,e.cancelHelperRemoval=!1,e._storedCSS={position:e.placeholder.css("position"),top:e.placeholder.css("top"),left:e.placeholder.css("left")},e._mouseStop(t),e.options.helper=e.options._helper):(e.cancelHelperRemoval=!0,e._trigger("deactivate",t,i))})},drag:function(t,n,r){e.each(r.sortables,function(){var i=!1,o=this
-o.positionAbs=r.positionAbs,o.helperProportions=r.helperProportions,o.offset.click=r.offset.click,o._intersectsWith(o.containerCache)&&(i=!0,e.each(r.sortables,function(){return this.positionAbs=r.positionAbs,this.helperProportions=r.helperProportions,this.offset.click=r.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&e.contains(o.element[0],this.element[0])&&(i=!1),i})),i?(o.isOver||(o.isOver=1,r._parent=n.helper.parent(),o.currentItem=n.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return n.helper[0]},t.target=o.currentItem[0],o._mouseCapture(t,!0),o._mouseStart(t,!0,!0),o.offset.click.top=r.offset.click.top,o.offset.click.left=r.offset.click.left,o.offset.parent.left-=r.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=r.offset.parent.top-o.offset.parent.top,r._trigger("toSortable",t),r.dropped=o.element,e.each(r.sortables,function(){this.refreshPositions()}),r.currentItem=r.element,o.fromOutside=r),o.currentItem&&(o._mouseDrag(t),n.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",t,o._uiHash(o)),o._mouseStop(t,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),n.helper.appendTo(r._parent),r._refreshOffsets(t),n.position=r._generatePosition(t,!0),r._trigger("fromSortable",t),r.dropped=!1,e.each(r.sortables,function(){this.refreshPositions()}))})}}),e.ui.plugin.add("draggable","cursor",{start:function(t,n,r){var i=e("body"),o=r.options
-i.css("cursor")&&(o._cursor=i.css("cursor")),i.css("cursor",o.cursor)},stop:function(t,n,r){var i=r.options
-i._cursor&&e("body").css("cursor",i._cursor)}}),e.ui.plugin.add("draggable","opacity",{start:function(t,n,r){var i=e(n.helper),o=r.options
-i.css("opacity")&&(o._opacity=i.css("opacity")),i.css("opacity",o.opacity)},stop:function(t,n,r){var i=r.options
-i._opacity&&e(n.helper).css("opacity",i._opacity)}}),e.ui.plugin.add("draggable","scroll",{start:function(e,t,n){n.scrollParentNotHidden||(n.scrollParentNotHidden=n.helper.scrollParent(!1)),n.scrollParentNotHidden[0]!==n.document[0]&&"HTML"!==n.scrollParentNotHidden[0].tagName&&(n.overflowOffset=n.scrollParentNotHidden.offset())},drag:function(t,n,r){var i=r.options,o=!1,s=r.scrollParentNotHidden[0],a=r.document[0]
-s!==a&&"HTML"!==s.tagName?(i.axis&&"x"===i.axis||(r.overflowOffset.top+s.offsetHeight-t.pageY<i.scrollSensitivity?s.scrollTop=o=s.scrollTop+i.scrollSpeed:t.pageY-r.overflowOffset.top<i.scrollSensitivity&&(s.scrollTop=o=s.scrollTop-i.scrollSpeed)),i.axis&&"y"===i.axis||(r.overflowOffset.left+s.offsetWidth-t.pageX<i.scrollSensitivity?s.scrollLeft=o=s.scrollLeft+i.scrollSpeed:t.pageX-r.overflowOffset.left<i.scrollSensitivity&&(s.scrollLeft=o=s.scrollLeft-i.scrollSpeed))):(i.axis&&"x"===i.axis||(t.pageY-e(a).scrollTop()<i.scrollSensitivity?o=e(a).scrollTop(e(a).scrollTop()-i.scrollSpeed):e(window).height()-(t.pageY-e(a).scrollTop())<i.scrollSensitivity&&(o=e(a).scrollTop(e(a).scrollTop()+i.scrollSpeed))),i.axis&&"y"===i.axis||(t.pageX-e(a).scrollLeft()<i.scrollSensitivity?o=e(a).scrollLeft(e(a).scrollLeft()-i.scrollSpeed):e(window).width()-(t.pageX-e(a).scrollLeft())<i.scrollSensitivity&&(o=e(a).scrollLeft(e(a).scrollLeft()+i.scrollSpeed)))),!1!==o&&e.ui.ddmanager&&!i.dropBehaviour&&e.ui.ddmanager.prepareOffsets(r,t)}}),e.ui.plugin.add("draggable","snap",{start:function(t,n,r){var i=r.options
-r.snapElements=[],e(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var t=e(this),n=t.offset()
-this!==r.element[0]&&r.snapElements.push({item:this,width:t.outerWidth(),height:t.outerHeight(),top:n.top,left:n.left})})},drag:function(t,n,r){var i,o,s,a,u,c,l,h,d,p,f=r.options,g=f.snapTolerance,m=n.offset.left,v=m+r.helperProportions.width,y=n.offset.top,b=y+r.helperProportions.height
-for(d=r.snapElements.length-1;d>=0;d--)u=r.snapElements[d].left-r.margins.left,c=u+r.snapElements[d].width,l=r.snapElements[d].top-r.margins.top,h=l+r.snapElements[d].height,u-g>v||m>c+g||l-g>b||y>h+g||!e.contains(r.snapElements[d].item.ownerDocument,r.snapElements[d].item)?(r.snapElements[d].snapping&&r.options.snap.release&&r.options.snap.release.call(r.element,t,e.extend(r._uiHash(),{snapItem:r.snapElements[d].item})),r.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(i=g>=Math.abs(l-b),o=g>=Math.abs(h-y),s=g>=Math.abs(u-v),a=g>=Math.abs(c-m),i&&(n.position.top=r._convertPositionTo("relative",{top:l-r.helperProportions.height,left:0}).top),o&&(n.position.top=r._convertPositionTo("relative",{top:h,left:0}).top),s&&(n.position.left=r._convertPositionTo("relative",{top:0,left:u-r.helperProportions.width}).left),a&&(n.position.left=r._convertPositionTo("relative",{top:0,left:c}).left)),p=i||o||s||a,"outer"!==f.snapMode&&(i=g>=Math.abs(l-y),o=g>=Math.abs(h-b),s=g>=Math.abs(u-m),a=g>=Math.abs(c-v),i&&(n.position.top=r._convertPositionTo("relative",{top:l,left:0}).top),o&&(n.position.top=r._convertPositionTo("relative",{top:h-r.helperProportions.height,left:0}).top),s&&(n.position.left=r._convertPositionTo("relative",{top:0,left:u}).left),a&&(n.position.left=r._convertPositionTo("relative",{top:0,left:c-r.helperProportions.width}).left)),!r.snapElements[d].snapping&&(i||o||s||a||p)&&r.options.snap.snap&&r.options.snap.snap.call(r.element,t,e.extend(r._uiHash(),{snapItem:r.snapElements[d].item})),r.snapElements[d].snapping=i||o||s||a||p)}}),e.ui.plugin.add("draggable","stack",{start:function(t,n,r){var i,o=r.options,s=e.makeArray(e(o.stack)).sort(function(t,n){return(parseInt(e(t).css("zIndex"),10)||0)-(parseInt(e(n).css("zIndex"),10)||0)})
-s.length&&(i=parseInt(e(s[0]).css("zIndex"),10)||0,e(s).each(function(t){e(this).css("zIndex",i+t)}),this.css("zIndex",i+s.length))}}),e.ui.plugin.add("draggable","zIndex",{start:function(t,n,r){var i=e(n.helper),o=r.options
-i.css("zIndex")&&(o._zIndex=i.css("zIndex")),i.css("zIndex",o.zIndex)},stop:function(t,n,r){var i=r.options
-i._zIndex&&e(n.helper).css("zIndex",i._zIndex)}}),e.ui.draggable,e.widget("ui.resizable",e.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(e){return parseFloat(e)||0},_isNumber:function(e){return!isNaN(parseFloat(e))},_hasScroll:function(t,n){if("hidden"===e(t).css("overflow"))return!1
-var r=n&&"left"===n?"scrollLeft":"scrollTop",i=!1
-return t[r]>0||(t[r]=1,i=t[r]>0,t[r]=0,i)},_create:function(){var t,n=this.options,r=this
-this._addClass("ui-resizable"),e.extend(this,{_aspectRatio:!!n.aspectRatio,aspectRatio:n.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:n.helper||n.ghost||n.animate?n.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(e("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,t={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(t),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(t),this._proportionallyResize()),this._setupHandles(),n.autoHide&&e(this.element).on("mouseenter",function(){n.disabled||(r._removeClass("ui-resizable-autohide"),r._handles.show())}).on("mouseleave",function(){n.disabled||r.resizing||(r._addClass("ui-resizable-autohide"),r._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy()
-var t,n=function(t){e(t).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()}
-return this.elementIsWrapper&&(n(this.element),t=this.element,this.originalElement.css({position:t.css("position"),width:t.outerWidth(),height:t.outerHeight(),top:t.css("top"),left:t.css("left")}).insertAfter(t),t.remove()),this.originalElement.css("resize",this.originalResizeStyle),n(this.originalElement),this},_setOption:function(e,t){switch(this._super(e,t),e){case"handles":this._removeHandles(),this._setupHandles()}},_setupHandles:function(){var t,n,r,i,o,s=this.options,a=this
-if(this.handles=s.handles||(e(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=e(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),r=this.handles.split(","),this.handles={},n=0;r.length>n;n++)t=e.trim(r[n]),i="ui-resizable-"+t,o=e("<div>"),this._addClass(o,"ui-resizable-handle "+i),o.css({zIndex:s.zIndex}),this.handles[t]=".ui-resizable-"+t,this.element.append(o)
-this._renderAxis=function(t){var n,r,i,o
-t=t||this.element
-for(n in this.handles)this.handles[n].constructor===String?this.handles[n]=this.element.children(this.handles[n]).first().show():(this.handles[n].jquery||this.handles[n].nodeType)&&(this.handles[n]=e(this.handles[n]),this._on(this.handles[n],{mousedown:a._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(r=e(this.handles[n],this.element),o=/sw|ne|nw|se|n|s/.test(n)?r.outerHeight():r.outerWidth(),i=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join(""),t.css(i,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[n])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){a.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=o&&o[1]?o[1]:"se")}),s.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(t){var n,r,i=!1
-for(n in this.handles)((r=e(this.handles[n])[0])===t.target||e.contains(r,t.target))&&(i=!0)
-return!this.options.disabled&&i},_mouseStart:function(t){var n,r,i,o=this.options,s=this.element
-return this.resizing=!0,this._renderProxy(),n=this._num(this.helper.css("left")),r=this._num(this.helper.css("top")),o.containment&&(n+=e(o.containment).scrollLeft()||0,r+=e(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:n,top:r},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:s.width(),height:s.height()},this.originalSize=this._helper?{width:s.outerWidth(),height:s.outerHeight()}:{width:s.width(),height:s.height()},this.sizeDiff={width:s.outerWidth()-s.width(),height:s.outerHeight()-s.height()},this.originalPosition={left:n,top:r},this.originalMousePosition={left:t.pageX,top:t.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,i=e(".ui-resizable-"+this.axis).css("cursor"),e("body").css("cursor","auto"===i?this.axis+"-resize":i),this._addClass("ui-resizable-resizing"),this._propagate("start",t),!0},_mouseDrag:function(t){var n,r,i=this.originalMousePosition,o=this.axis,s=t.pageX-i.left||0,a=t.pageY-i.top||0,u=this._change[o]
-return this._updatePrevProperties(),!!u&&(n=u.apply(this,[t,s,a]),this._updateVirtualBoundaries(t.shiftKey),(this._aspectRatio||t.shiftKey)&&(n=this._updateRatio(n,t)),n=this._respectSize(n,t),this._updateCache(n),this._propagate("resize",t),r=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),e.isEmptyObject(r)||(this._updatePrevProperties(),this._trigger("resize",t,this.ui()),this._applyChanges()),!1)},_mouseStop:function(t){this.resizing=!1
-var n,r,i,o,s,a,u,c=this.options,l=this
-return this._helper&&(n=this._proportionallyResizeElements,r=n.length&&/textarea/i.test(n[0].nodeName),i=r&&this._hasScroll(n[0],"left")?0:l.sizeDiff.height,o=r?0:l.sizeDiff.width,s={width:l.helper.width()-o,height:l.helper.height()-i},a=parseFloat(l.element.css("left"))+(l.position.left-l.originalPosition.left)||null,u=parseFloat(l.element.css("top"))+(l.position.top-l.originalPosition.top)||null,c.animate||this.element.css(e.extend(s,{top:u,left:a})),l.helper.height(l.size.height),l.helper.width(l.size.width),this._helper&&!c.animate&&this._proportionallyResize()),e("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",t),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var e={}
-return this.position.top!==this.prevPosition.top&&(e.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(e.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(e.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(e.height=this.size.height+"px"),this.helper.css(e),e},_updateVirtualBoundaries:function(e){var t,n,r,i,o,s=this.options
-o={minWidth:this._isNumber(s.minWidth)?s.minWidth:0,maxWidth:this._isNumber(s.maxWidth)?s.maxWidth:1/0,minHeight:this._isNumber(s.minHeight)?s.minHeight:0,maxHeight:this._isNumber(s.maxHeight)?s.maxHeight:1/0},(this._aspectRatio||e)&&(t=o.minHeight*this.aspectRatio,r=o.minWidth/this.aspectRatio,n=o.maxHeight*this.aspectRatio,i=o.maxWidth/this.aspectRatio,t>o.minWidth&&(o.minWidth=t),r>o.minHeight&&(o.minHeight=r),o.maxWidth>n&&(o.maxWidth=n),o.maxHeight>i&&(o.maxHeight=i)),this._vBoundaries=o},_updateCache:function(e){this.offset=this.helper.offset(),this._isNumber(e.left)&&(this.position.left=e.left),this._isNumber(e.top)&&(this.position.top=e.top),this._isNumber(e.height)&&(this.size.height=e.height),this._isNumber(e.width)&&(this.size.width=e.width)},_updateRatio:function(e){var t=this.position,n=this.size,r=this.axis
-return this._isNumber(e.height)?e.width=e.height*this.aspectRatio:this._isNumber(e.width)&&(e.height=e.width/this.aspectRatio),"sw"===r&&(e.left=t.left+(n.width-e.width),e.top=null),"nw"===r&&(e.top=t.top+(n.height-e.height),e.left=t.left+(n.width-e.width)),e},_respectSize:function(e){var t=this._vBoundaries,n=this.axis,r=this._isNumber(e.width)&&t.maxWidth&&t.maxWidth<e.width,i=this._isNumber(e.height)&&t.maxHeight&&t.maxHeight<e.height,o=this._isNumber(e.width)&&t.minWidth&&t.minWidth>e.width,s=this._isNumber(e.height)&&t.minHeight&&t.minHeight>e.height,a=this.originalPosition.left+this.originalSize.width,u=this.originalPosition.top+this.originalSize.height,c=/sw|nw|w/.test(n),l=/nw|ne|n/.test(n)
-return o&&(e.width=t.minWidth),s&&(e.height=t.minHeight),r&&(e.width=t.maxWidth),i&&(e.height=t.maxHeight),o&&c&&(e.left=a-t.minWidth),r&&c&&(e.left=a-t.maxWidth),s&&l&&(e.top=u-t.minHeight),i&&l&&(e.top=u-t.maxHeight),e.width||e.height||e.left||!e.top?e.width||e.height||e.top||!e.left||(e.left=null):e.top=null,e},_getPaddingPlusBorderDimensions:function(e){for(var t=0,n=[],r=[e.css("borderTopWidth"),e.css("borderRightWidth"),e.css("borderBottomWidth"),e.css("borderLeftWidth")],i=[e.css("paddingTop"),e.css("paddingRight"),e.css("paddingBottom"),e.css("paddingLeft")];4>t;t++)n[t]=parseFloat(r[t])||0,n[t]+=parseFloat(i[t])||0
-return{height:n[0]+n[2],width:n[1]+n[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var e,t=0,n=this.helper||this.element;this._proportionallyResizeElements.length>t;t++)e=this._proportionallyResizeElements[t],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(e)),e.css({height:n.height()-this.outerDimensions.height||0,width:n.width()-this.outerDimensions.width||0})},_renderProxy:function(){var t=this.element,n=this.options
-this.elementOffset=t.offset(),this._helper?(this.helper=this.helper||e("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++n.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(e,t){return{width:this.originalSize.width+t}},w:function(e,t){var n=this.originalSize
-return{left:this.originalPosition.left+t,width:n.width-t}},n:function(e,t,n){var r=this.originalSize
-return{top:this.originalPosition.top+n,height:r.height-n}},s:function(e,t,n){return{height:this.originalSize.height+n}},se:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},sw:function(t,n,r){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[t,n,r]))},ne:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[t,n,r]))},nw:function(t,n,r){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[t,n,r]))}},_propagate:function(t,n){e.ui.plugin.call(this,t,[n,this.ui()]),"resize"!==t&&this._trigger(t,n,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),e.ui.plugin.add("resizable","animate",{stop:function(t){var n=e(this).resizable("instance"),r=n.options,i=n._proportionallyResizeElements,o=i.length&&/textarea/i.test(i[0].nodeName),s=o&&n._hasScroll(i[0],"left")?0:n.sizeDiff.height,a=o?0:n.sizeDiff.width,u={width:n.size.width-a,height:n.size.height-s},c=parseFloat(n.element.css("left"))+(n.position.left-n.originalPosition.left)||null,l=parseFloat(n.element.css("top"))+(n.position.top-n.originalPosition.top)||null
-n.element.animate(e.extend(u,l&&c?{top:l,left:c}:{}),{duration:r.animateDuration,easing:r.animateEasing,step:function(){var r={width:parseFloat(n.element.css("width")),height:parseFloat(n.element.css("height")),top:parseFloat(n.element.css("top")),left:parseFloat(n.element.css("left"))}
-i&&i.length&&e(i[0]).css({width:r.width,height:r.height}),n._updateCache(r),n._propagate("resize",t)}})}}),e.ui.plugin.add("resizable","containment",{start:function(){var t,n,r,i,o,s,a,u=e(this).resizable("instance"),c=u.options,l=u.element,h=c.containment,d=h instanceof e?h.get(0):/parent/.test(h)?l.parent().get(0):h
-d&&(u.containerElement=e(d),/document/.test(h)||h===document?(u.containerOffset={left:0,top:0},u.containerPosition={left:0,top:0},u.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}):(t=e(d),n=[],e(["Top","Right","Left","Bottom"]).each(function(e,r){n[e]=u._num(t.css("padding"+r))}),u.containerOffset=t.offset(),u.containerPosition=t.position(),u.containerSize={height:t.innerHeight()-n[3],width:t.innerWidth()-n[1]},r=u.containerOffset,i=u.containerSize.height,o=u.containerSize.width,s=u._hasScroll(d,"left")?d.scrollWidth:o,a=u._hasScroll(d)?d.scrollHeight:i,u.parentData={element:d,left:r.left,top:r.top,width:s,height:a}))},resize:function(t){var n,r,i,o,s=e(this).resizable("instance"),a=s.options,u=s.containerOffset,c=s.position,l=s._aspectRatio||t.shiftKey,h={top:0,left:0},d=s.containerElement,p=!0
-d[0]!==document&&/static/.test(d.css("position"))&&(h=u),c.left<(s._helper?u.left:0)&&(s.size.width=s.size.width+(s._helper?s.position.left-u.left:s.position.left-h.left),l&&(s.size.height=s.size.width/s.aspectRatio,p=!1),s.position.left=a.helper?u.left:0),c.top<(s._helper?u.top:0)&&(s.size.height=s.size.height+(s._helper?s.position.top-u.top:s.position.top),l&&(s.size.width=s.size.height*s.aspectRatio,p=!1),s.position.top=s._helper?u.top:0),i=s.containerElement.get(0)===s.element.parent().get(0),o=/relative|absolute/.test(s.containerElement.css("position")),i&&o?(s.offset.left=s.parentData.left+s.position.left,s.offset.top=s.parentData.top+s.position.top):(s.offset.left=s.element.offset().left,s.offset.top=s.element.offset().top),n=Math.abs(s.sizeDiff.width+(s._helper?s.offset.left-h.left:s.offset.left-u.left)),r=Math.abs(s.sizeDiff.height+(s._helper?s.offset.top-h.top:s.offset.top-u.top)),n+s.size.width>=s.parentData.width&&(s.size.width=s.parentData.width-n,l&&(s.size.height=s.size.width/s.aspectRatio,p=!1)),r+s.size.height>=s.parentData.height&&(s.size.height=s.parentData.height-r,l&&(s.size.width=s.size.height*s.aspectRatio,p=!1)),p||(s.position.left=s.prevPosition.left,s.position.top=s.prevPosition.top,s.size.width=s.prevSize.width,s.size.height=s.prevSize.height)},stop:function(){var t=e(this).resizable("instance"),n=t.options,r=t.containerOffset,i=t.containerPosition,o=t.containerElement,s=e(t.helper),a=s.offset(),u=s.outerWidth()-t.sizeDiff.width,c=s.outerHeight()-t.sizeDiff.height
-t._helper&&!n.animate&&/relative/.test(o.css("position"))&&e(this).css({left:a.left-i.left-r.left,width:u,height:c}),t._helper&&!n.animate&&/static/.test(o.css("position"))&&e(this).css({left:a.left-i.left-r.left,width:u,height:c})}}),e.ui.plugin.add("resizable","alsoResize",{start:function(){var t=e(this).resizable("instance"),n=t.options
-e(n.alsoResize).each(function(){var t=e(this)
-t.data("ui-resizable-alsoresize",{width:parseFloat(t.width()),height:parseFloat(t.height()),left:parseFloat(t.css("left")),top:parseFloat(t.css("top"))})})},resize:function(t,n){var r=e(this).resizable("instance"),i=r.options,o=r.originalSize,s=r.originalPosition,a={height:r.size.height-o.height||0,width:r.size.width-o.width||0,top:r.position.top-s.top||0,left:r.position.left-s.left||0}
-e(i.alsoResize).each(function(){var t=e(this),r=e(this).data("ui-resizable-alsoresize"),i={},o=t.parents(n.originalElement[0]).length?["width","height"]:["width","height","top","left"]
-e.each(o,function(e,t){var n=(r[t]||0)+(a[t]||0)
-n&&n>=0&&(i[t]=n||null)}),t.css(i)})},stop:function(){e(this).removeData("ui-resizable-alsoresize")}}),e.ui.plugin.add("resizable","ghost",{start:function(){var t=e(this).resizable("instance"),n=t.size
-t.ghost=t.originalElement.clone(),t.ghost.css({opacity:.25,display:"block",position:"relative",height:n.height,width:n.width,margin:0,left:0,top:0}),t._addClass(t.ghost,"ui-resizable-ghost"),!1!==e.uiBackCompat&&"string"==typeof t.options.ghost&&t.ghost.addClass(this.options.ghost),t.ghost.appendTo(t.helper)},resize:function(){var t=e(this).resizable("instance")
-t.ghost&&t.ghost.css({position:"relative",height:t.size.height,width:t.size.width})},stop:function(){var t=e(this).resizable("instance")
-t.ghost&&t.helper&&t.helper.get(0).removeChild(t.ghost.get(0))}}),e.ui.plugin.add("resizable","grid",{resize:function(){var t,n=e(this).resizable("instance"),r=n.options,i=n.size,o=n.originalSize,s=n.originalPosition,a=n.axis,u="number"==typeof r.grid?[r.grid,r.grid]:r.grid,c=u[0]||1,l=u[1]||1,h=Math.round((i.width-o.width)/c)*c,d=Math.round((i.height-o.height)/l)*l,p=o.width+h,f=o.height+d,g=r.maxWidth&&p>r.maxWidth,m=r.maxHeight&&f>r.maxHeight,v=r.minWidth&&r.minWidth>p,y=r.minHeight&&r.minHeight>f
-r.grid=u,v&&(p+=c),y&&(f+=l),g&&(p-=c),m&&(f-=l),/^(se|s|e)$/.test(a)?(n.size.width=p,n.size.height=f):/^(ne)$/.test(a)?(n.size.width=p,n.size.height=f,n.position.top=s.top-d):/^(sw)$/.test(a)?(n.size.width=p,n.size.height=f,n.position.left=s.left-h):((0>=f-l||0>=p-c)&&(t=n._getPaddingPlusBorderDimensions(this)),f-l>0?(n.size.height=f,n.position.top=s.top-d):(f=l-t.height,n.size.height=f,n.position.top=s.top+o.height-f),p-c>0?(n.size.width=p,n.position.left=s.left-h):(p=c-t.width,n.size.width=p,n.position.left=s.left+o.width-p))}}),e.ui.resizable}),function(e){"use strict"
-"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof module&&module.exports?module.exports=e(require("jquery")):e(jQuery)}(function(e,t){"use strict"
-if(!e.jstree){var n=0,r=!1,i=!1,o=!1,s=[],a=e("script:last").attr("src"),u=window.document,c=window.setImmediate,l=window.Promise
-!c&&l&&(c=function(e,t){l.resolve(t).then(e)}),e.jstree={version:"3.3.9",defaults:{plugins:[]},plugins:{},path:a&&-1!==a.indexOf("/")?a.replace(/\/[^\/]+$/,""):"",idregex:/[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g,root:"#"},e.jstree.create=function(t,r){var i=new e.jstree.core(++n),o=r
-return r=e.extend(!0,{},e.jstree.defaults,r),o&&o.plugins&&(r.plugins=o.plugins),e.each(r.plugins,function(e,t){"core"!==e&&(i=i.plugin(t,r[t]))}),e(t).data("jstree",i),i.init(t,r),i},e.jstree.destroy=function(){e(".jstree:jstree").jstree("destroy"),e(u).off(".jstree")},e.jstree.core=function(e){this._id=e,this._cnt=0,this._wrk=null,this._data={core:{themes:{name:!1,dots:!1,icons:!1,ellipsis:!1},selected:[],last_error:{},working:!1,worker_queue:[],focused:null}}},e.jstree.reference=function(t){var n=null,r=null
-if(!t||!t.id||t.tagName&&t.nodeType||(t=t.id),!r||!r.length)try{r=e(t)}catch(e){}if(!r||!r.length)try{r=e("#"+t.replace(e.jstree.idregex,"\\$&"))}catch(e){}return r&&r.length&&(r=r.closest(".jstree")).length&&(r=r.data("jstree"))?n=r:e(".jstree").each(function(){var r=e(this).data("jstree")
-return r&&r._model.data[t]?(n=r,!1):void 0}),n},e.fn.jstree=function(n){var r="string"==typeof n,i=Array.prototype.slice.call(arguments,1),o=null
-return!(!0===n&&!this.length)&&(this.each(function(){var s=e.jstree.reference(this),a=r&&s?s[n]:null
-return o=r&&a?a.apply(s,i):null,s||r||n!==t&&!e.isPlainObject(n)||e.jstree.create(this,n),(s&&!r||!0===n)&&(o=s||!1),(null===o||o===t)&&void 0}),null!==o&&o!==t?o:this)},e.expr.pseudos.jstree=e.expr.createPseudo(function(n){return function(n){return e(n).hasClass("jstree")&&e(n).data("jstree")!==t}}),e.jstree.defaults.core={data:!1,strings:!1,check_callback:!1,error:e.noop,animation:200,multiple:!0,themes:{name:!1,url:!1,dir:!1,dots:!0,icons:!0,ellipsis:!1,stripes:!1,variant:!1,responsive:!1},expand_selected_onload:!0,worker:!0,force_text:!1,dblclick_toggle:!0,loaded_state:!1,restore_focus:!0,keyboard:{"ctrl-space":function(t){t.type="click",e(t.currentTarget).trigger(t)},enter:function(t){t.type="click",e(t.currentTarget).trigger(t)},left:function(t){if(t.preventDefault(),this.is_open(t.currentTarget))this.close_node(t.currentTarget)
-else{var n=this.get_parent(t.currentTarget)
-n&&n.id!==e.jstree.root&&this.get_node(n,!0).children(".jstree-anchor").focus()}},up:function(e){e.preventDefault()
-var t=this.get_prev_dom(e.currentTarget)
-t&&t.length&&t.children(".jstree-anchor").focus()},right:function(t){if(t.preventDefault(),this.is_closed(t.currentTarget))this.open_node(t.currentTarget,function(e){this.get_node(e,!0).children(".jstree-anchor").focus()})
-else if(this.is_open(t.currentTarget)){var n=this.get_node(t.currentTarget,!0).children(".jstree-children")[0]
-n&&e(this._firstChild(n)).children(".jstree-anchor").focus()}},down:function(e){e.preventDefault()
-var t=this.get_next_dom(e.currentTarget)
-t&&t.length&&t.children(".jstree-anchor").focus()},"*":function(e){this.open_all()},home:function(t){t.preventDefault()
-var n=this._firstChild(this.get_container_ul()[0])
-n&&e(n).children(".jstree-anchor").filter(":visible").focus()},end:function(e){e.preventDefault(),this.element.find(".jstree-anchor").filter(":visible").last().focus()},f2:function(e){e.preventDefault(),this.edit(e.currentTarget)}}},e.jstree.core.prototype={plugin:function(t,n){var r=e.jstree.plugins[t]
-return r?(this._data[t]={},r.prototype=this,new r(n,this)):this},init:function(t,n){this._model={data:{},changed:[],force_full_redraw:!1,redraw_timeout:!1,default_state:{loaded:!0,opened:!1,selected:!1,disabled:!1}},this._model.data[e.jstree.root]={id:e.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this.element=e(t).addClass("jstree jstree-"+this._id),this.settings=n,this._data.core.ready=!1,this._data.core.loaded=!1,this._data.core.rtl="rtl"===this.element.css("direction"),this.element[this._data.core.rtl?"addClass":"removeClass"]("jstree-rtl"),this.element.attr("role","tree"),this.settings.core.multiple&&this.element.attr("aria-multiselectable",!0),this.element.attr("tabindex")||this.element.attr("tabindex","0"),this.bind(),this.trigger("init"),this._data.core.original_container_html=this.element.find(" > ul > li").clone(!0),this._data.core.original_container_html.find("li").addBack().contents().filter(function(){return 3===this.nodeType&&(!this.nodeValue||/^\s+$/.test(this.nodeValue))}).remove(),this.element.html("<ul class='jstree-container-ul jstree-children' role='group'><li id='j"+this._id+"_loading' class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading"),this._data.core.li_height=this.get_container_ul().children("li").first().outerHeight()||24,this._data.core.node=this._create_prototype_node(),this.trigger("loading"),this.load_node(e.jstree.root)},destroy:function(e){if(this.trigger("destroy"),this._wrk)try{window.URL.revokeObjectURL(this._wrk),this._wrk=null}catch(e){}e||this.element.empty(),this.teardown()},_create_prototype_node:function(){var e,t,n=u.createElement("LI")
-return n.setAttribute("role","treeitem"),e=u.createElement("I"),e.className="jstree-icon jstree-ocl",e.setAttribute("role","presentation"),n.appendChild(e),e=u.createElement("A"),e.className="jstree-anchor",e.setAttribute("href","#"),e.setAttribute("tabindex","-1"),t=u.createElement("I"),t.className="jstree-icon jstree-themeicon",t.setAttribute("role","presentation"),e.appendChild(t),n.appendChild(e),e=t=null,n},_kbevent_to_func:function(e){var t={8:"Backspace",9:"Tab",13:"Enter",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete",96:"Numpad0",97:"Numpad1",98:"Numpad2",99:"Numpad3",100:"Numpad4",101:"Numpad5",102:"Numpad6",103:"Numpad7",104:"Numpad8",105:"Numpad9","-13":"NumpadEnter",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"Numlock",145:"Scrolllock",16:"Shift",17:"Ctrl",18:"Alt",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",59:";",61:"=",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*",173:"-"},n=[]
-if(e.ctrlKey&&n.push("ctrl"),e.altKey&&n.push("alt"),e.shiftKey&&n.push("shift"),n.push(t[e.which]||e.which),"shift-shift"===(n=n.sort().join("-").toLowerCase())||"ctrl-ctrl"===n||"alt-alt"===n)return null
-var r,i,o=this.settings.core.keyboard
-for(r in o)if(o.hasOwnProperty(r)&&(i=r,"-"!==i&&"+"!==i&&(i=i.replace("--","-MINUS").replace("+-","-MINUS").replace("++","-PLUS").replace("-+","-PLUS"),i=i.split(/-|\+/).sort().join("-").replace("MINUS","-").replace("PLUS","+").toLowerCase()),i===n))return o[r]
-return null},teardown:function(){this.unbind(),this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class",function(){return this.className.replace(/jstree[^ ]*|$/gi,"")}),this.element=null},bind:function(){var t="",n=null,r=0
-this.element.on("dblclick.jstree",function(e){if(e.target.tagName&&"input"===e.target.tagName.toLowerCase())return!0
-if(u.selection&&u.selection.empty)u.selection.empty()
-else if(window.getSelection){var t=window.getSelection()
-try{t.removeAllRanges(),t.collapse()}catch(e){}}}).on("mousedown.jstree",e.proxy(function(e){e.target===this.element[0]&&(e.preventDefault(),r=+new Date)},this)).on("mousedown.jstree",".jstree-ocl",function(e){e.preventDefault()}).on("click.jstree",".jstree-ocl",e.proxy(function(e){this.toggle_node(e.target)},this)).on("dblclick.jstree",".jstree-anchor",e.proxy(function(e){return!(!e.target.tagName||"input"!==e.target.tagName.toLowerCase())||void(this.settings.core.dblclick_toggle&&this.toggle_node(e.target))},this)).on("click.jstree",".jstree-anchor",e.proxy(function(t){t.preventDefault(),t.currentTarget!==u.activeElement&&e(t.currentTarget).focus(),this.activate_node(t.currentTarget,t)},this)).on("keydown.jstree",".jstree-anchor",e.proxy(function(e){if(e.target.tagName&&"input"===e.target.tagName.toLowerCase())return!0
-this._data.core.rtl&&(37===e.which?e.which=39:39===e.which&&(e.which=37))
-var t=this._kbevent_to_func(e)
-if(t){var n=t.call(this,e)
-if(!1===n||!0===n)return n}},this)).on("load_node.jstree",e.proxy(function(t,n){n.status&&(n.node.id!==e.jstree.root||this._data.core.loaded||(this._data.core.loaded=!0,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.trigger("loaded")),this._data.core.ready||setTimeout(e.proxy(function(){if(this.element&&!this.get_container_ul().find(".jstree-loading").length){if(this._data.core.ready=!0,this._data.core.selected.length){if(this.settings.core.expand_selected_onload){var t,n,r=[]
-for(t=0,n=this._data.core.selected.length;n>t;t++)r=r.concat(this._model.data[this._data.core.selected[t]].parents)
-for(r=e.vakata.array_unique(r),t=0,n=r.length;n>t;t++)this.open_node(r[t],!1,0)}this.trigger("changed",{action:"ready",selected:this._data.core.selected})}this.trigger("ready")}},this),0))},this)).on("keypress.jstree",e.proxy(function(r){if(r.target.tagName&&"input"===r.target.tagName.toLowerCase())return!0
-n&&clearTimeout(n),n=setTimeout(function(){t=""},500)
-var i=String.fromCharCode(r.which).toLowerCase(),o=this.element.find(".jstree-anchor").filter(":visible"),s=o.index(u.activeElement)||0,a=!1
-if(t+=i,t.length>1){if(o.slice(s).each(e.proxy(function(n,r){return 0===e(r).text().toLowerCase().indexOf(t)?(e(r).focus(),a=!0,!1):void 0},this)),a)return
-if(o.slice(0,s).each(e.proxy(function(n,r){return 0===e(r).text().toLowerCase().indexOf(t)?(e(r).focus(),a=!0,!1):void 0},this)),a)return}if(new RegExp("^"+i.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")+"+$").test(t)){if(o.slice(s+1).each(e.proxy(function(t,n){return e(n).text().toLowerCase().charAt(0)===i?(e(n).focus(),a=!0,!1):void 0},this)),a)return
-if(o.slice(0,s+1).each(e.proxy(function(t,n){return e(n).text().toLowerCase().charAt(0)===i?(e(n).focus(),a=!0,!1):void 0},this)),a)return}},this)).on("init.jstree",e.proxy(function(){var e=this.settings.core.themes
-this._data.core.themes.dots=e.dots,this._data.core.themes.stripes=e.stripes,this._data.core.themes.icons=e.icons,this._data.core.themes.ellipsis=e.ellipsis,this.set_theme(e.name||"default",e.url),this.set_theme_variant(e.variant)},this)).on("loading.jstree",e.proxy(function(){this[this._data.core.themes.dots?"show_dots":"hide_dots"](),this[this._data.core.themes.icons?"show_icons":"hide_icons"](),this[this._data.core.themes.stripes?"show_stripes":"hide_stripes"](),this[this._data.core.themes.ellipsis?"show_ellipsis":"hide_ellipsis"]()},this)).on("blur.jstree",".jstree-anchor",e.proxy(function(t){this._data.core.focused=null,e(t.currentTarget).filter(".jstree-hovered").trigger("mouseleave"),this.element.attr("tabindex","0")},this)).on("focus.jstree",".jstree-anchor",e.proxy(function(t){var n=this.get_node(t.currentTarget)
-n&&n.id&&(this._data.core.focused=n.id),this.element.find(".jstree-hovered").not(t.currentTarget).trigger("mouseleave"),e(t.currentTarget).trigger("mouseenter"),this.element.attr("tabindex","-1")},this)).on("focus.jstree",e.proxy(function(){if(+new Date-r>500&&!this._data.core.focused&&this.settings.core.restore_focus){r=0
-var e=this.get_node(this.element.attr("aria-activedescendant"),!0)
-e&&e.find("> .jstree-anchor").focus()}},this)).on("mouseenter.jstree",".jstree-anchor",e.proxy(function(e){this.hover_node(e.currentTarget)},this)).on("mouseleave.jstree",".jstree-anchor",e.proxy(function(e){this.dehover_node(e.currentTarget)},this))},unbind:function(){this.element.off(".jstree"),e(u).off(".jstree-"+this._id)},trigger:function(e,t){t||(t={}),t.instance=this,this.element.triggerHandler(e.replace(".jstree","")+".jstree",t)},get_container:function(){return this.element},get_container_ul:function(){return this.element.children(".jstree-children").first()},get_string:function(t){var n=this.settings.core.strings
-return e.isFunction(n)?n.call(this,t):n&&n[t]?n[t]:t},_firstChild:function(e){for(e=e?e.firstChild:null;null!==e&&1!==e.nodeType;)e=e.nextSibling
-return e},_nextSibling:function(e){for(e=e?e.nextSibling:null;null!==e&&1!==e.nodeType;)e=e.nextSibling
-return e},_previousSibling:function(e){for(e=e?e.previousSibling:null;null!==e&&1!==e.nodeType;)e=e.previousSibling
-return e},get_node:function(t,n){t&&t.id&&(t=t.id),t instanceof e&&t.length&&t[0].id&&(t=t[0].id)
-var r
-try{if(this._model.data[t])t=this._model.data[t]
-else if("string"==typeof t&&this._model.data[t.replace(/^#/,"")])t=this._model.data[t.replace(/^#/,"")]
-else if("string"==typeof t&&(r=e("#"+t.replace(e.jstree.idregex,"\\$&"),this.element)).length&&this._model.data[r.closest(".jstree-node").attr("id")])t=this._model.data[r.closest(".jstree-node").attr("id")]
-else if((r=this.element.find(t)).length&&this._model.data[r.closest(".jstree-node").attr("id")])t=this._model.data[r.closest(".jstree-node").attr("id")]
-else{if(!(r=this.element.find(t)).length||!r.hasClass("jstree"))return!1
-t=this._model.data[e.jstree.root]}return n&&(t=t.id===e.jstree.root?this.element:e("#"+t.id.replace(e.jstree.idregex,"\\$&"),this.element)),t}catch(e){return!1}},get_path:function(t,n,r){if(!(t=t.parents?t:this.get_node(t))||t.id===e.jstree.root||!t.parents)return!1
-var i,o,s=[]
-for(s.push(r?t.id:t.text),i=0,o=t.parents.length;o>i;i++)s.push(r?t.parents[i]:this.get_text(t.parents[i]))
-return s=s.reverse().slice(1),n?s.join(n):s},get_next_dom:function(t,n){var r
-if(t=this.get_node(t,!0),t[0]===this.element[0]){for(r=this._firstChild(this.get_container_ul()[0]);r&&0===r.offsetHeight;)r=this._nextSibling(r)
-return!!r&&e(r)}if(!t||!t.length)return!1
-if(n){r=t[0]
-do{r=this._nextSibling(r)}while(r&&0===r.offsetHeight)
-return!!r&&e(r)}if(t.hasClass("jstree-open")){for(r=this._firstChild(t.children(".jstree-children")[0]);r&&0===r.offsetHeight;)r=this._nextSibling(r)
-if(null!==r)return e(r)}r=t[0]
-do{r=this._nextSibling(r)}while(r&&0===r.offsetHeight)
-return null!==r?e(r):t.parentsUntil(".jstree",".jstree-node").nextAll(".jstree-node:visible").first()},get_prev_dom:function(t,n){var r
-if(t=this.get_node(t,!0),t[0]===this.element[0]){for(r=this.get_container_ul()[0].lastChild;r&&0===r.offsetHeight;)r=this._previousSibling(r)
-return!!r&&e(r)}if(!t||!t.length)return!1
-if(n){r=t[0]
-do{r=this._previousSibling(r)}while(r&&0===r.offsetHeight)
-return!!r&&e(r)}r=t[0]
-do{r=this._previousSibling(r)}while(r&&0===r.offsetHeight)
-if(null!==r){for(t=e(r);t.hasClass("jstree-open");)t=t.children(".jstree-children").first().children(".jstree-node:visible:last")
-return t}return!(!(r=t[0].parentNode.parentNode)||!r.className||-1===r.className.indexOf("jstree-node"))&&e(r)},get_parent:function(t){return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&t.parent},get_children_dom:function(e){return e=this.get_node(e,!0),e[0]===this.element[0]?this.get_container_ul().children(".jstree-node"):!(!e||!e.length)&&e.children(".jstree-children").children(".jstree-node")},is_parent:function(e){return(e=this.get_node(e))&&(!1===e.state.loaded||e.children.length>0)},is_loaded:function(e){return(e=this.get_node(e))&&e.state.loaded},is_loading:function(e){return(e=this.get_node(e))&&e.state&&e.state.loading},is_open:function(e){return(e=this.get_node(e))&&e.state.opened},is_closed:function(e){return(e=this.get_node(e))&&this.is_parent(e)&&!e.state.opened},is_leaf:function(e){return!this.is_parent(e)},load_node:function(t,n){var r,i,o,s,a
-if(e.isArray(t))return this._load_nodes(t.slice(),n),!0
-if(!(t=this.get_node(t)))return n&&n.call(this,t,!1),!1
-if(t.state.loaded){for(t.state.loaded=!1,o=0,s=t.parents.length;s>o;o++)this._model.data[t.parents[o]].children_d=e.vakata.array_filter(this._model.data[t.parents[o]].children_d,function(n){return-1===e.inArray(n,t.children_d)})
-for(r=0,i=t.children_d.length;i>r;r++)this._model.data[t.children_d[r]].state.selected&&(a=!0),delete this._model.data[t.children_d[r]]
-a&&(this._data.core.selected=e.vakata.array_filter(this._data.core.selected,function(n){return-1===e.inArray(n,t.children_d)})),t.children=[],t.children_d=[],a&&this.trigger("changed",{action:"load_node",node:t,selected:this._data.core.selected})}return t.state.failed=!1,t.state.loading=!0,this.get_node(t,!0).addClass("jstree-loading").attr("aria-busy",!0),this._load_node(t,e.proxy(function(e){t=this._model.data[t.id],t.state.loading=!1,t.state.loaded=e,t.state.failed=!t.state.loaded
-var r=this.get_node(t,!0),i=0,o=0,s=this._model.data,a=!1
-for(i=0,o=t.children.length;o>i;i++)if(s[t.children[i]]&&!s[t.children[i]].state.hidden){a=!0
-break}t.state.loaded&&r&&r.length&&(r.removeClass("jstree-closed jstree-open jstree-leaf"),a?"#"!==t.id&&r.addClass(t.state.opened?"jstree-open":"jstree-closed"):r.addClass("jstree-leaf")),r.removeClass("jstree-loading").attr("aria-busy",!1),this.trigger("load_node",{node:t,status:e}),n&&n.call(this,t,e)},this)),!0},_load_nodes:function(e,t,n,r){var i,o,s=!0,a=function(){this._load_nodes(e,t,!0)},u=this._model.data,c=[]
-for(i=0,o=e.length;o>i;i++)u[e[i]]&&(!u[e[i]].state.loaded&&!u[e[i]].state.failed||!n&&r)&&(this.is_loading(e[i])||this.load_node(e[i],a),s=!1)
-if(s){for(i=0,o=e.length;o>i;i++)u[e[i]]&&u[e[i]].state.loaded&&c.push(e[i])
-t&&!t.done&&(t.call(this,c),t.done=!0)}},load_all:function(t,n){if(t||(t=e.jstree.root),!(t=this.get_node(t)))return!1
-var r,i,o=[],s=this._model.data,a=s[t.id].children_d
-for(t.state&&!t.state.loaded&&o.push(t.id),r=0,i=a.length;i>r;r++)s[a[r]]&&s[a[r]].state&&!s[a[r]].state.loaded&&o.push(a[r])
-o.length?this._load_nodes(o,function(){this.load_all(t,n)}):(n&&n.call(this,t),this.trigger("load_all",{node:t}))},_load_node:function(t,n){var r,i=this.settings.core.data,o=function(){return 3!==this.nodeType&&8!==this.nodeType}
-return i?e.isFunction(i)?i.call(this,t,e.proxy(function(r){!1===r?n.call(this,!1):this["string"==typeof r?"_append_html_data":"_append_json_data"](t,"string"==typeof r?e(e.parseHTML(r)).filter(o):r,function(e){n.call(this,e)})},this)):"object"==typeof i?i.url?(i=e.extend(!0,{},i),e.isFunction(i.url)&&(i.url=i.url.call(this,t)),e.isFunction(i.data)&&(i.data=i.data.call(this,t)),e.ajax(i).done(e.proxy(function(r,i,s){var a=s.getResponseHeader("Content-Type")
-return a&&-1!==a.indexOf("json")||"object"==typeof r?this._append_json_data(t,r,function(e){n.call(this,e)}):a&&-1!==a.indexOf("html")||"string"==typeof r?this._append_html_data(t,e(e.parseHTML(r)).filter(o),function(e){n.call(this,e)}):(this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:t.id,xhr:s})},this.settings.core.error.call(this,this._data.core.last_error),n.call(this,!1))},this)).fail(e.proxy(function(e){this._data.core.last_error={error:"ajax",plugin:"core",id:"core_04",reason:"Could not load node",data:JSON.stringify({id:t.id,xhr:e})},n.call(this,!1),this.settings.core.error.call(this,this._data.core.last_error)},this))):(r=e.isArray(i)?e.extend(!0,[],i):e.isPlainObject(i)?e.extend(!0,{},i):i,t.id===e.jstree.root?this._append_json_data(t,r,function(e){n.call(this,e)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_05",reason:"Could not load node",data:JSON.stringify({id:t.id})},this.settings.core.error.call(this,this._data.core.last_error),n.call(this,!1))):"string"==typeof i?t.id===e.jstree.root?this._append_html_data(t,e(e.parseHTML(i)).filter(o),function(e){n.call(this,e)}):(this._data.core.last_error={error:"nodata",plugin:"core",id:"core_06",reason:"Could not load node",data:JSON.stringify({id:t.id})},this.settings.core.error.call(this,this._data.core.last_error),n.call(this,!1)):n.call(this,!1):t.id===e.jstree.root?this._append_html_data(t,this._data.core.original_container_html.clone(!0),function(e){n.call(this,e)}):n.call(this,!1)},_node_changed:function(t){(t=this.get_node(t))&&-1===e.inArray(t.id,this._model.changed)&&this._model.changed.push(t.id)},_append_html_data:function(t,n,r){t=this.get_node(t),t.children=[],t.children_d=[]
-var i,o,s,a=n.is("ul")?n.children():n,u=t.id,c=[],l=[],h=this._model.data,d=h[u],p=this._data.core.selected.length
-for(a.each(e.proxy(function(t,n){(i=this._parse_model_from_html(e(n),u,d.parents.concat()))&&(c.push(i),l.push(i),h[i].children_d.length&&(l=l.concat(h[i].children_d)))},this)),d.children=c,d.children_d=l,o=0,s=d.parents.length;s>o;o++)h[d.parents[o]].children_d=h[d.parents[o]].children_d.concat(l)
-this.trigger("model",{nodes:l,parent:u}),u!==e.jstree.root?(this._node_changed(u),this.redraw()):(this.get_container_ul().children(".jstree-initial-node").remove(),this.redraw(!0)),this._data.core.selected.length!==p&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),r.call(this,!0)},_append_json_data:function(t,n,r,i){if(null!==this.element){t=this.get_node(t),t.children=[],t.children_d=[],n.d&&"string"==typeof(n=n.d)&&(n=JSON.parse(n)),e.isArray(n)||(n=[n])
-var o=null,s={df:this._model.default_state,dat:n,par:t.id,m:this._model.data,t_id:this._id,t_cnt:this._cnt,sel:this._data.core.selected},a=this,u=function(e,t){e.data&&(e=e.data)
-var n,r,i,o,s=e.dat,u=e.par,c=[],l=[],h=[],d=e.df,p=e.t_id,f=e.t_cnt,g=e.m,m=g[u],v=e.sel,y=function(e,n,r){r=r?r.concat():[],n&&r.unshift(n)
-var i,o,s,a,u=e.id.toString(),c={id:u,text:e.text||"",icon:e.icon===t||e.icon,parent:n,parents:r,children:e.children||[],children_d:e.children_d||[],data:e.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1}
-for(i in d)d.hasOwnProperty(i)&&(c.state[i]=d[i])
-if(e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(c.icon=e.data.jstree.icon),(c.icon===t||null===c.icon||""===c.icon)&&(c.icon=!0),e&&e.data&&(c.data=e.data,e.data.jstree))for(i in e.data.jstree)e.data.jstree.hasOwnProperty(i)&&(c.state[i]=e.data.jstree[i])
-if(e&&"object"==typeof e.state)for(i in e.state)e.state.hasOwnProperty(i)&&(c.state[i]=e.state[i])
-if(e&&"object"==typeof e.li_attr)for(i in e.li_attr)e.li_attr.hasOwnProperty(i)&&(c.li_attr[i]=e.li_attr[i])
-if(c.li_attr.id||(c.li_attr.id=u),e&&"object"==typeof e.a_attr)for(i in e.a_attr)e.a_attr.hasOwnProperty(i)&&(c.a_attr[i]=e.a_attr[i])
-for(e&&e.children&&!0===e.children&&(c.state.loaded=!1,c.children=[],c.children_d=[]),g[c.id]=c,i=0,o=c.children.length;o>i;i++)s=y(g[c.children[i]],c.id,r),a=g[s],c.children_d.push(s),a.children_d.length&&(c.children_d=c.children_d.concat(a.children_d))
-return delete e.data,delete e.children,g[c.id].original=e,c.state.selected&&h.push(c.id),c.id},b=function(e,n,r){r=r?r.concat():[],n&&r.unshift(n)
-var i,o,s,a,u,c=!1
-do{c="j"+p+"_"+ ++f}while(g[c])
-u={id:!1,text:"string"==typeof e?e:"",icon:"object"!=typeof e||e.icon===t||e.icon,parent:n,parents:r,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1}
-for(i in d)d.hasOwnProperty(i)&&(u.state[i]=d[i])
-if(e&&e.id&&(u.id=e.id.toString()),e&&e.text&&(u.text=e.text),e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(u.icon=e.data.jstree.icon),(u.icon===t||null===u.icon||""===u.icon)&&(u.icon=!0),e&&e.data&&(u.data=e.data,e.data.jstree))for(i in e.data.jstree)e.data.jstree.hasOwnProperty(i)&&(u.state[i]=e.data.jstree[i])
-if(e&&"object"==typeof e.state)for(i in e.state)e.state.hasOwnProperty(i)&&(u.state[i]=e.state[i])
-if(e&&"object"==typeof e.li_attr)for(i in e.li_attr)e.li_attr.hasOwnProperty(i)&&(u.li_attr[i]=e.li_attr[i])
-if(u.li_attr.id&&!u.id&&(u.id=u.li_attr.id.toString()),u.id||(u.id=c),u.li_attr.id||(u.li_attr.id=u.id),e&&"object"==typeof e.a_attr)for(i in e.a_attr)e.a_attr.hasOwnProperty(i)&&(u.a_attr[i]=e.a_attr[i])
-if(e&&e.children&&e.children.length){for(i=0,o=e.children.length;o>i;i++)s=b(e.children[i],u.id,r),a=g[s],u.children.push(s),a.children_d.length&&(u.children_d=u.children_d.concat(a.children_d))
-u.children_d=u.children_d.concat(u.children)}return e&&e.children&&!0===e.children&&(u.state.loaded=!1,u.children=[],u.children_d=[]),delete e.data,delete e.children,u.original=e,g[u.id]=u,u.state.selected&&h.push(u.id),u.id}
-if(s.length&&s[0].id!==t&&s[0].parent!==t){for(r=0,i=s.length;i>r;r++)s[r].children||(s[r].children=[]),s[r].state||(s[r].state={}),g[s[r].id.toString()]=s[r]
-for(r=0,i=s.length;i>r;r++)g[s[r].parent.toString()]?(g[s[r].parent.toString()].children.push(s[r].id.toString()),m.children_d.push(s[r].id.toString())):void 0!==a&&(a._data.core.last_error={error:"parse",plugin:"core",id:"core_07",reason:"Node with invalid parent",data:JSON.stringify({id:s[r].id.toString(),parent:s[r].parent.toString()})},a.settings.core.error.call(a,a._data.core.last_error))
-for(r=0,i=m.children.length;i>r;r++)n=y(g[m.children[r]],u,m.parents.concat()),l.push(n),g[n].children_d.length&&(l=l.concat(g[n].children_d))
-for(r=0,i=m.parents.length;i>r;r++)g[m.parents[r]].children_d=g[m.parents[r]].children_d.concat(l)
-o={cnt:f,mod:g,sel:v,par:u,dpc:l,add:h}}else{for(r=0,i=s.length;i>r;r++)(n=b(s[r],u,m.parents.concat()))&&(c.push(n),l.push(n),g[n].children_d.length&&(l=l.concat(g[n].children_d)))
-for(m.children=c,m.children_d=l,r=0,i=m.parents.length;i>r;r++)g[m.parents[r]].children_d=g[m.parents[r]].children_d.concat(l)
-o={cnt:f,mod:g,sel:v,par:u,dpc:l,add:h}}return"undefined"!=typeof window&&void 0!==window.document?o:void postMessage(o)},l=function(t,n){if(null!==this.element){this._cnt=t.cnt
-var i,o=this._model.data
-for(i in o)o.hasOwnProperty(i)&&o[i].state&&o[i].state.loading&&t.mod[i]&&(t.mod[i].state.loading=!0)
-if(this._model.data=t.mod,n){var s,u=t.add,l=t.sel,h=this._data.core.selected.slice()
-if(o=this._model.data,l.length!==h.length||e.vakata.array_unique(l.concat(h)).length!==l.length){for(i=0,s=l.length;s>i;i++)-1===e.inArray(l[i],u)&&-1===e.inArray(l[i],h)&&(o[l[i]].state.selected=!1)
-for(i=0,s=h.length;s>i;i++)-1===e.inArray(h[i],l)&&(o[h[i]].state.selected=!0)}}t.add.length&&(this._data.core.selected=this._data.core.selected.concat(t.add)),this.trigger("model",{nodes:t.dpc,parent:t.par}),t.par!==e.jstree.root?(this._node_changed(t.par),this.redraw()):this.redraw(!0),t.add.length&&this.trigger("changed",{action:"model",selected:this._data.core.selected}),!n&&c?c(function(){r.call(a,!0)}):r.call(a,!0)}}
-if(this.settings.core.worker&&window.Blob&&window.URL&&window.Worker)try{null===this._wrk&&(this._wrk=window.URL.createObjectURL(new window.Blob(["self.onmessage = "+u.toString()],{type:"text/javascript"}))),!this._data.core.working||i?(this._data.core.working=!0,o=new window.Worker(this._wrk),o.onmessage=e.proxy(function(e){l.call(this,e.data,!0)
-try{o.terminate(),o=null}catch(e){}this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1},this),s.par?o.postMessage(s):this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1):this._data.core.worker_queue.push([t,n,r,!0])}catch(e){l.call(this,u(s),!1),this._data.core.worker_queue.length?this._append_json_data.apply(this,this._data.core.worker_queue.shift()):this._data.core.working=!1}else l.call(this,u(s),!1)}},_parse_model_from_html:function(n,r,i){i=i?[].concat(i):[],r&&i.unshift(r)
-var o,s,a,u,c,l=this._model.data,h={id:!1,text:!1,icon:!0,parent:r,parents:i,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1}
-for(a in this._model.default_state)this._model.default_state.hasOwnProperty(a)&&(h.state[a]=this._model.default_state[a])
-if(u=e.vakata.attributes(n,!0),e.each(u,function(t,n){return n=e.trim(n),!n.length||(h.li_attr[t]=n,void("id"===t&&(h.id=n.toString())))}),u=n.children("a").first(),u.length&&(u=e.vakata.attributes(u,!0),e.each(u,function(t,n){n=e.trim(n),n.length&&(h.a_attr[t]=n)})),u=n.children("a").first().length?n.children("a").first().clone():n.clone(),u.children("ins, i, ul").remove(),u=u.html(),u=e("<div />").html(u),h.text=this.settings.core.force_text?u.text():u.html(),u=n.data(),h.data=u?e.extend(!0,{},u):null,h.state.opened=n.hasClass("jstree-open"),h.state.selected=n.children("a").hasClass("jstree-clicked"),h.state.disabled=n.children("a").hasClass("jstree-disabled"),h.data&&h.data.jstree)for(a in h.data.jstree)h.data.jstree.hasOwnProperty(a)&&(h.state[a]=h.data.jstree[a])
-u=n.children("a").children(".jstree-themeicon"),u.length&&(h.icon=!u.hasClass("jstree-themeicon-hidden")&&u.attr("rel")),h.state.icon!==t&&(h.icon=h.state.icon),(h.icon===t||null===h.icon||""===h.icon)&&(h.icon=!0),u=n.children("ul").children("li")
-do{c="j"+this._id+"_"+ ++this._cnt}while(l[c])
-return h.id=h.li_attr.id?h.li_attr.id.toString():c,u.length?(u.each(e.proxy(function(t,n){o=this._parse_model_from_html(e(n),h.id,i),s=this._model.data[o],h.children.push(o),s.children_d.length&&(h.children_d=h.children_d.concat(s.children_d))},this)),h.children_d=h.children_d.concat(h.children)):n.hasClass("jstree-closed")&&(h.state.loaded=!1),h.li_attr.class&&(h.li_attr.class=h.li_attr.class.replace("jstree-closed","").replace("jstree-open","")),h.a_attr.class&&(h.a_attr.class=h.a_attr.class.replace("jstree-clicked","").replace("jstree-disabled","")),l[h.id]=h,h.state.selected&&this._data.core.selected.push(h.id),h.id},_parse_model_from_flat_json:function(e,n,r){r=r?r.concat():[],n&&r.unshift(n)
-var i,o,s,a,u=e.id.toString(),c=this._model.data,l=this._model.default_state,h={id:u,text:e.text||"",icon:e.icon===t||e.icon,parent:n,parents:r,children:e.children||[],children_d:e.children_d||[],data:e.data,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1}
-for(i in l)l.hasOwnProperty(i)&&(h.state[i]=l[i])
-if(e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(h.icon=e.data.jstree.icon),(h.icon===t||null===h.icon||""===h.icon)&&(h.icon=!0),e&&e.data&&(h.data=e.data,e.data.jstree))for(i in e.data.jstree)e.data.jstree.hasOwnProperty(i)&&(h.state[i]=e.data.jstree[i])
-if(e&&"object"==typeof e.state)for(i in e.state)e.state.hasOwnProperty(i)&&(h.state[i]=e.state[i])
-if(e&&"object"==typeof e.li_attr)for(i in e.li_attr)e.li_attr.hasOwnProperty(i)&&(h.li_attr[i]=e.li_attr[i])
-if(h.li_attr.id||(h.li_attr.id=u),e&&"object"==typeof e.a_attr)for(i in e.a_attr)e.a_attr.hasOwnProperty(i)&&(h.a_attr[i]=e.a_attr[i])
-for(e&&e.children&&!0===e.children&&(h.state.loaded=!1,h.children=[],h.children_d=[]),c[h.id]=h,i=0,o=h.children.length;o>i;i++)s=this._parse_model_from_flat_json(c[h.children[i]],h.id,r),a=c[s],h.children_d.push(s),a.children_d.length&&(h.children_d=h.children_d.concat(a.children_d))
-return delete e.data,delete e.children,c[h.id].original=e,h.state.selected&&this._data.core.selected.push(h.id),h.id},_parse_model_from_json:function(e,n,r){r=r?r.concat():[],n&&r.unshift(n)
-var i,o,s,a,u,c=!1,l=this._model.data,h=this._model.default_state
-do{c="j"+this._id+"_"+ ++this._cnt}while(l[c])
-u={id:!1,text:"string"==typeof e?e:"",icon:"object"!=typeof e||e.icon===t||e.icon,parent:n,parents:r,children:[],children_d:[],data:null,state:{},li_attr:{id:!1},a_attr:{href:"#"},original:!1}
-for(i in h)h.hasOwnProperty(i)&&(u.state[i]=h[i])
-if(e&&e.id&&(u.id=e.id.toString()),e&&e.text&&(u.text=e.text),e&&e.data&&e.data.jstree&&e.data.jstree.icon&&(u.icon=e.data.jstree.icon),(u.icon===t||null===u.icon||""===u.icon)&&(u.icon=!0),e&&e.data&&(u.data=e.data,e.data.jstree))for(i in e.data.jstree)e.data.jstree.hasOwnProperty(i)&&(u.state[i]=e.data.jstree[i])
-if(e&&"object"==typeof e.state)for(i in e.state)e.state.hasOwnProperty(i)&&(u.state[i]=e.state[i])
-if(e&&"object"==typeof e.li_attr)for(i in e.li_attr)e.li_attr.hasOwnProperty(i)&&(u.li_attr[i]=e.li_attr[i])
-if(u.li_attr.id&&!u.id&&(u.id=u.li_attr.id.toString()),u.id||(u.id=c),u.li_attr.id||(u.li_attr.id=u.id),e&&"object"==typeof e.a_attr)for(i in e.a_attr)e.a_attr.hasOwnProperty(i)&&(u.a_attr[i]=e.a_attr[i])
-if(e&&e.children&&e.children.length){for(i=0,o=e.children.length;o>i;i++)s=this._parse_model_from_json(e.children[i],u.id,r),a=l[s],u.children.push(s),a.children_d.length&&(u.children_d=u.children_d.concat(a.children_d))
-u.children_d=u.children.concat(u.children_d)}return e&&e.children&&!0===e.children&&(u.state.loaded=!1,u.children=[],u.children_d=[]),delete e.data,delete e.children,u.original=e,l[u.id]=u,u.state.selected&&this._data.core.selected.push(u.id),u.id},_redraw:function(){var t,n,r,i=this._model.force_full_redraw?this._model.data[e.jstree.root].children.concat([]):this._model.changed.concat([]),o=u.createElement("UL"),s=this._data.core.focused
-for(n=0,r=i.length;r>n;n++)(t=this.redraw_node(i[n],!0,this._model.force_full_redraw))&&this._model.force_full_redraw&&o.appendChild(t)
-this._model.force_full_redraw&&(o.className=this.get_container_ul()[0].className,o.setAttribute("role","group"),this.element.empty().append(o)),null!==s&&this.settings.core.restore_focus&&(t=this.get_node(s,!0),t&&t.length&&t.children(".jstree-anchor")[0]!==u.activeElement?t.children(".jstree-anchor").focus():this._data.core.focused=null),this._model.force_full_redraw=!1,this._model.changed=[],this.trigger("redraw",{nodes:i})},redraw:function(e){e&&(this._model.force_full_redraw=!0),this._redraw()},draw_children:function(t){var n=this.get_node(t),r=!1,i=!1,o=!1,s=u
-if(!n)return!1
-if(n.id===e.jstree.root)return this.redraw(!0)
-if(!(t=this.get_node(t,!0))||!t.length)return!1
-if(t.children(".jstree-children").remove(),t=t[0],n.children.length&&n.state.loaded){for(o=s.createElement("UL"),o.setAttribute("role","group"),o.className="jstree-children",r=0,i=n.children.length;i>r;r++)o.appendChild(this.redraw_node(n.children[r],!0,!0))
-t.appendChild(o)}},redraw_node:function(t,n,r,i){var o=this.get_node(t),s=!1,a=!1,c=!1,l=!1,h=!1,d=!1,p="",f=u,g=this._model.data,m=!1,v=null,y=0,b=0,C=!1,A=!1
-if(!o)return!1
-if(o.id===e.jstree.root)return this.redraw(!0)
-if(n=n||0===o.children.length,t=u.querySelector?this.element[0].querySelector("#"+(-1!=="0123456789".indexOf(o.id[0])?"\\3"+o.id[0]+" "+o.id.substr(1).replace(e.jstree.idregex,"\\$&"):o.id.replace(e.jstree.idregex,"\\$&"))):u.getElementById(o.id))t=e(t),r||(s=t.parent().parent()[0],s===this.element[0]&&(s=null),a=t.index()),n||!o.children.length||t.children(".jstree-children").length||(n=!0),n||(c=t.children(".jstree-children")[0]),m=t.children(".jstree-anchor")[0]===u.activeElement,t.remove()
-else if(n=!0,!r){if(!(null===(s=o.parent!==e.jstree.root?e("#"+o.parent.replace(e.jstree.idregex,"\\$&"),this.element)[0]:null)||s&&g[o.parent].state.opened))return!1
-a=e.inArray(o.id,null===s?g[e.jstree.root].children:g[o.parent].children)}t=this._data.core.node.cloneNode(!0),p="jstree-node "
-for(l in o.li_attr)if(o.li_attr.hasOwnProperty(l)){if("id"===l)continue
-"class"!==l?t.setAttribute(l,o.li_attr[l]):p+=o.li_attr[l]}for(o.a_attr.id||(o.a_attr.id=o.id+"_anchor"),t.setAttribute("aria-selected",!!o.state.selected),t.setAttribute("aria-level",o.parents.length),t.setAttribute("aria-labelledby",o.a_attr.id),o.state.disabled&&t.setAttribute("aria-disabled",!0),l=0,h=o.children.length;h>l;l++)if(!g[o.children[l]].state.hidden){C=!0
-break}if(null!==o.parent&&g[o.parent]&&!o.state.hidden&&(l=e.inArray(o.id,g[o.parent].children),A=o.id,-1!==l))for(l++,h=g[o.parent].children.length;h>l&&(g[g[o.parent].children[l]].state.hidden||(A=g[o.parent].children[l]),A===o.id);l++);o.state.hidden&&(p+=" jstree-hidden"),o.state.loading&&(p+=" jstree-loading"),o.state.loaded&&!C?p+=" jstree-leaf":(p+=o.state.opened&&o.state.loaded?" jstree-open":" jstree-closed",t.setAttribute("aria-expanded",o.state.opened&&o.state.loaded)),A===o.id&&(p+=" jstree-last"),t.id=o.id,t.className=p,p=(o.state.selected?" jstree-clicked":"")+(o.state.disabled?" jstree-disabled":"")
-for(h in o.a_attr)if(o.a_attr.hasOwnProperty(h)){if("href"===h&&"#"===o.a_attr[h])continue
-"class"!==h?t.childNodes[1].setAttribute(h,o.a_attr[h]):p+=" "+o.a_attr[h]}if(p.length&&(t.childNodes[1].className="jstree-anchor "+p),(o.icon&&!0!==o.icon||!1===o.icon)&&(!1===o.icon?t.childNodes[1].childNodes[0].className+=" jstree-themeicon-hidden":-1===o.icon.indexOf("/")&&-1===o.icon.indexOf(".")?t.childNodes[1].childNodes[0].className+=" "+o.icon+" jstree-themeicon-custom":(t.childNodes[1].childNodes[0].style.backgroundImage='url("'+o.icon+'")',t.childNodes[1].childNodes[0].style.backgroundPosition="center center",t.childNodes[1].childNodes[0].style.backgroundSize="auto",t.childNodes[1].childNodes[0].className+=" jstree-themeicon-custom")),this.settings.core.force_text?t.childNodes[1].appendChild(f.createTextNode(o.text)):t.childNodes[1].innerHTML+=o.text,n&&o.children.length&&(o.state.opened||i)&&o.state.loaded){for(d=f.createElement("UL"),d.setAttribute("role","group"),d.className="jstree-children",l=0,h=o.children.length;h>l;l++)d.appendChild(this.redraw_node(o.children[l],n,!0))
-t.appendChild(d)}if(c&&t.appendChild(c),!r){for(s||(s=this.element[0]),l=0,h=s.childNodes.length;h>l;l++)if(s.childNodes[l]&&s.childNodes[l].className&&-1!==s.childNodes[l].className.indexOf("jstree-children")){v=s.childNodes[l]
-break}v||(v=f.createElement("UL"),v.setAttribute("role","group"),v.className="jstree-children",s.appendChild(v)),s=v,a<s.childNodes.length?s.insertBefore(t,s.childNodes[a]):s.appendChild(t),m&&(y=this.element[0].scrollTop,b=this.element[0].scrollLeft,t.childNodes[1].focus(),this.element[0].scrollTop=y,this.element[0].scrollLeft=b)}return o.state.opened&&!o.state.loaded&&(o.state.opened=!1,setTimeout(e.proxy(function(){this.open_node(o.id,!1,0)},this),0)),t},open_node:function(n,r,i){var o,s,a,u
-if(e.isArray(n)){for(n=n.slice(),o=0,s=n.length;s>o;o++)this.open_node(n[o],r,i)
-return!0}return!(!(n=this.get_node(n))||n.id===e.jstree.root)&&(i=i===t?this.settings.core.animation:i,this.is_closed(n)?this.is_loaded(n)?(a=this.get_node(n,!0),u=this,a.length&&(i&&a.children(".jstree-children").length&&a.children(".jstree-children").stop(!0,!0),n.children.length&&!this._firstChild(a.children(".jstree-children")[0])&&this.draw_children(n),i?(this.trigger("before_open",{node:n}),a.children(".jstree-children").css("display","none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded",!0).children(".jstree-children").stop(!0,!0).slideDown(i,function(){this.style.display="",u.element&&u.trigger("after_open",{node:n})})):(this.trigger("before_open",{node:n}),a[0].className=a[0].className.replace("jstree-closed","jstree-open"),a[0].setAttribute("aria-expanded",!0))),n.state.opened=!0,r&&r.call(this,n,!0),a.length||this.trigger("before_open",{node:n}),this.trigger("open_node",{node:n}),i&&a.length||this.trigger("after_open",{node:n}),!0):this.is_loading(n)?setTimeout(e.proxy(function(){this.open_node(n,r,i)},this),500):void this.load_node(n,function(e,t){return t?this.open_node(e,r,i):!!r&&r.call(this,e,!1)}):(r&&r.call(this,n,!1),!1))},_open_to:function(t){if(!(t=this.get_node(t))||t.id===e.jstree.root)return!1
-var n,r,i=t.parents
-for(n=0,r=i.length;r>n;n+=1)n!==e.jstree.root&&this.open_node(i[n],!1,0)
-return e("#"+t.id.replace(e.jstree.idregex,"\\$&"),this.element)},close_node:function(n,r){var i,o,s,a
-if(e.isArray(n)){for(n=n.slice(),i=0,o=n.length;o>i;i++)this.close_node(n[i],r)
-return!0}return!(!(n=this.get_node(n))||n.id===e.jstree.root)&&(!this.is_closed(n)&&(r=r===t?this.settings.core.animation:r,s=this,a=this.get_node(n,!0),n.state.opened=!1,this.trigger("close_node",{node:n}),void(a.length?r?a.children(".jstree-children").attr("style","display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded",!1).children(".jstree-children").stop(!0,!0).slideUp(r,function(){this.style.display="",a.children(".jstree-children").remove(),s.element&&s.trigger("after_close",{node:n})}):(a[0].className=a[0].className.replace("jstree-open","jstree-closed"),a.attr("aria-expanded",!1).children(".jstree-children").remove(),this.trigger("after_close",{node:n})):this.trigger("after_close",{node:n}))))},toggle_node:function(t){var n,r
-if(e.isArray(t)){for(t=t.slice(),n=0,r=t.length;r>n;n++)this.toggle_node(t[n])
-return!0}return this.is_closed(t)?this.open_node(t):this.is_open(t)?this.close_node(t):void 0},open_all:function(t,n,r){if(t||(t=e.jstree.root),!(t=this.get_node(t)))return!1
-var i,o,s,a=t.id===e.jstree.root?this.get_container_ul():this.get_node(t,!0)
-if(!a.length){for(i=0,o=t.children_d.length;o>i;i++)this.is_closed(this._model.data[t.children_d[i]])&&(this._model.data[t.children_d[i]].state.opened=!0)
-return this.trigger("open_all",{node:t})}r=r||a,s=this,a=this.is_closed(t)?a.find(".jstree-closed").addBack():a.find(".jstree-closed"),a.each(function(){s.open_node(this,function(e,t){t&&this.is_parent(e)&&this.open_all(e,n,r)},n||0)}),0===r.find(".jstree-closed").length&&this.trigger("open_all",{node:this.get_node(r)})},close_all:function(t,n){if(t||(t=e.jstree.root),!(t=this.get_node(t)))return!1
-var r,i,o=t.id===e.jstree.root?this.get_container_ul():this.get_node(t,!0),s=this
-for(o.length&&(o=this.is_open(t)?o.find(".jstree-open").addBack():o.find(".jstree-open"),e(o.get().reverse()).each(function(){s.close_node(this,n||0)})),r=0,i=t.children_d.length;i>r;r++)this._model.data[t.children_d[r]].state.opened=!1
-this.trigger("close_all",{node:t})},is_disabled:function(e){return(e=this.get_node(e))&&e.state&&e.state.disabled},enable_node:function(t){var n,r
-if(e.isArray(t)){for(t=t.slice(),n=0,r=t.length;r>n;n++)this.enable_node(t[n])
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(t.state.disabled=!1,this.get_node(t,!0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled",!1),void this.trigger("enable_node",{node:t}))},disable_node:function(t){var n,r
-if(e.isArray(t)){for(t=t.slice(),n=0,r=t.length;r>n;n++)this.disable_node(t[n])
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(t.state.disabled=!0,this.get_node(t,!0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled",!0),void this.trigger("disable_node",{node:t}))},is_hidden:function(e){return e=this.get_node(e),!0===e.state.hidden},hide_node:function(t,n){var r,i
-if(e.isArray(t)){for(t=t.slice(),r=0,i=t.length;i>r;r++)this.hide_node(t[r],!0)
-return n||this.redraw(),!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&void(t.state.hidden||(t.state.hidden=!0,this._node_changed(t.parent),n||this.redraw(),this.trigger("hide_node",{node:t})))},show_node:function(t,n){var r,i
-if(e.isArray(t)){for(t=t.slice(),r=0,i=t.length;i>r;r++)this.show_node(t[r],!0)
-return n||this.redraw(),!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&void(t.state.hidden&&(t.state.hidden=!1,this._node_changed(t.parent),n||this.redraw(),this.trigger("show_node",{node:t})))},hide_all:function(t){var n,r=this._model.data,i=[]
-for(n in r)r.hasOwnProperty(n)&&n!==e.jstree.root&&!r[n].state.hidden&&(r[n].state.hidden=!0,i.push(n))
-return this._model.force_full_redraw=!0,t||this.redraw(),this.trigger("hide_all",{nodes:i}),i},show_all:function(t){var n,r=this._model.data,i=[]
-for(n in r)r.hasOwnProperty(n)&&n!==e.jstree.root&&r[n].state.hidden&&(r[n].state.hidden=!1,i.push(n))
-return this._model.force_full_redraw=!0,t||this.redraw(),this.trigger("show_all",{nodes:i}),i},activate_node:function(e,n){if(this.is_disabled(e))return!1
-if(n&&"object"==typeof n||(n={}),this._data.core.last_clicked=this._data.core.last_clicked&&this._data.core.last_clicked.id!==t?this.get_node(this._data.core.last_clicked.id):null,this._data.core.last_clicked&&!this._data.core.last_clicked.state.selected&&(this._data.core.last_clicked=null),!this._data.core.last_clicked&&this._data.core.selected.length&&(this._data.core.last_clicked=this.get_node(this._data.core.selected[this._data.core.selected.length-1])),this.settings.core.multiple&&(n.metaKey||n.ctrlKey||n.shiftKey)&&(!n.shiftKey||this._data.core.last_clicked&&this.get_parent(e)&&this.get_parent(e)===this._data.core.last_clicked.parent))if(n.shiftKey){var r,i,o=this.get_node(e).id,s=this._data.core.last_clicked.id,a=this.get_node(this._data.core.last_clicked.parent).children,u=!1
-for(r=0,i=a.length;i>r;r+=1)a[r]===o&&(u=!u),a[r]===s&&(u=!u),this.is_disabled(a[r])||!u&&a[r]!==o&&a[r]!==s?this.deselect_node(a[r],!0,n):this.is_hidden(a[r])||this.select_node(a[r],!0,!1,n)
-this.trigger("changed",{action:"select_node",node:this.get_node(e),selected:this._data.core.selected,event:n})}else this.is_selected(e)?this.deselect_node(e,!1,n):this.select_node(e,!1,!1,n)
-else!this.settings.core.multiple&&(n.metaKey||n.ctrlKey||n.shiftKey)&&this.is_selected(e)?this.deselect_node(e,!1,n):(this.deselect_all(!0),this.select_node(e,!1,!1,n),this._data.core.last_clicked=this.get_node(e))
-this.trigger("activate_node",{node:this.get_node(e),event:n})},hover_node:function(e){if(!(e=this.get_node(e,!0))||!e.length||e.children(".jstree-hovered").length)return!1
-var t=this.element.find(".jstree-hovered"),n=this.element
-t&&t.length&&this.dehover_node(t),e.children(".jstree-anchor").addClass("jstree-hovered"),this.trigger("hover_node",{node:this.get_node(e)}),setTimeout(function(){n.attr("aria-activedescendant",e[0].id)},0)},dehover_node:function(e){return!!((e=this.get_node(e,!0))&&e.length&&e.children(".jstree-hovered").length)&&(e.children(".jstree-anchor").removeClass("jstree-hovered"),void this.trigger("dehover_node",{node:this.get_node(e)}))},select_node:function(t,n,r,i){var o,s,a
-if(e.isArray(t)){for(t=t.slice(),s=0,a=t.length;a>s;s++)this.select_node(t[s],n,r,i)
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(o=this.get_node(t,!0),void(t.state.selected||(t.state.selected=!0,this._data.core.selected.push(t.id),r||(o=this._open_to(t)),o&&o.length&&o.attr("aria-selected",!0).children(".jstree-anchor").addClass("jstree-clicked"),this.trigger("select_node",{node:t,selected:this._data.core.selected,event:i}),n||this.trigger("changed",{action:"select_node",node:t,selected:this._data.core.selected,event:i}))))},deselect_node:function(t,n,r){var i,o,s
-if(e.isArray(t)){for(t=t.slice(),i=0,o=t.length;o>i;i++)this.deselect_node(t[i],n,r)
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(s=this.get_node(t,!0),void(t.state.selected&&(t.state.selected=!1,this._data.core.selected=e.vakata.array_remove_item(this._data.core.selected,t.id),s.length&&s.attr("aria-selected",!1).children(".jstree-anchor").removeClass("jstree-clicked"),this.trigger("deselect_node",{node:t,selected:this._data.core.selected,event:r}),n||this.trigger("changed",{action:"deselect_node",node:t,selected:this._data.core.selected,event:r}))))},select_all:function(t){var n,r,i=this._data.core.selected.concat([])
-for(this._data.core.selected=this._model.data[e.jstree.root].children_d.concat(),n=0,r=this._data.core.selected.length;r>n;n++)this._model.data[this._data.core.selected[n]]&&(this._model.data[this._data.core.selected[n]].state.selected=!0)
-this.redraw(!0),this.trigger("select_all",{selected:this._data.core.selected}),t||this.trigger("changed",{action:"select_all",selected:this._data.core.selected,old_selection:i})},deselect_all:function(e){var t,n,r=this._data.core.selected.concat([])
-for(t=0,n=this._data.core.selected.length;n>t;t++)this._model.data[this._data.core.selected[t]]&&(this._model.data[this._data.core.selected[t]].state.selected=!1)
-this._data.core.selected=[],this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected",!1),this.trigger("deselect_all",{selected:this._data.core.selected,node:r}),e||this.trigger("changed",{action:"deselect_all",selected:this._data.core.selected,old_selection:r})},is_selected:function(t){return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&t.state.selected},get_selected:function(t){return t?e.map(this._data.core.selected,e.proxy(function(e){return this.get_node(e)},this)):this._data.core.selected.slice()},get_top_selected:function(t){var n,r,i,o,s=this.get_selected(!0),a={}
-for(n=0,r=s.length;r>n;n++)a[s[n].id]=s[n]
-for(n=0,r=s.length;r>n;n++)for(i=0,o=s[n].children_d.length;o>i;i++)a[s[n].children_d[i]]&&delete a[s[n].children_d[i]]
-s=[]
-for(n in a)a.hasOwnProperty(n)&&s.push(n)
-return t?e.map(s,e.proxy(function(e){return this.get_node(e)},this)):s},get_bottom_selected:function(t){var n,r,i=this.get_selected(!0),o=[]
-for(n=0,r=i.length;r>n;n++)i[n].children.length||o.push(i[n].id)
-return t?e.map(o,e.proxy(function(e){return this.get_node(e)},this)):o},get_state:function(){var t,n={core:{open:[],loaded:[],scroll:{left:this.element.scrollLeft(),top:this.element.scrollTop()},selected:[]}}
-for(t in this._model.data)this._model.data.hasOwnProperty(t)&&t!==e.jstree.root&&(this._model.data[t].state.loaded&&this.settings.core.loaded_state&&n.core.loaded.push(t),this._model.data[t].state.opened&&n.core.open.push(t),this._model.data[t].state.selected&&n.core.selected.push(t))
-return n},set_state:function(n,r){if(n){if(n.core&&n.core.selected&&n.core.initial_selection===t&&(n.core.initial_selection=this._data.core.selected.concat([]).sort().join(",")),n.core){var i,o
-if(n.core.loaded)return this.settings.core.loaded_state&&e.isArray(n.core.loaded)&&n.core.loaded.length?this._load_nodes(n.core.loaded,function(e){delete n.core.loaded,this.set_state(n,r)}):(delete n.core.loaded,this.set_state(n,r)),!1
-if(n.core.open)return e.isArray(n.core.open)&&n.core.open.length?this._load_nodes(n.core.open,function(e){this.open_node(e,!1,0),delete n.core.open,this.set_state(n,r)}):(delete n.core.open,this.set_state(n,r)),!1
-if(n.core.scroll)return n.core.scroll&&n.core.scroll.left!==t&&this.element.scrollLeft(n.core.scroll.left),n.core.scroll&&n.core.scroll.top!==t&&this.element.scrollTop(n.core.scroll.top),delete n.core.scroll,this.set_state(n,r),!1
-if(n.core.selected)return i=this,(n.core.initial_selection===t||n.core.initial_selection===this._data.core.selected.concat([]).sort().join(","))&&(this.deselect_all(),e.each(n.core.selected,function(e,t){i.select_node(t,!1,!0)})),delete n.core.initial_selection,delete n.core.selected,this.set_state(n,r),!1
-for(o in n)n.hasOwnProperty(o)&&"core"!==o&&-1===e.inArray(o,this.settings.plugins)&&delete n[o]
-if(e.isEmptyObject(n.core))return delete n.core,this.set_state(n,r),!1}return!e.isEmptyObject(n)||(n=null,r&&r.call(this),this.trigger("set_state"),!1)}return!1},refresh:function(t,n){this._data.core.state=!0===n?{}:this.get_state(),n&&e.isFunction(n)&&(this._data.core.state=n.call(this,this._data.core.state)),this._cnt=0,this._model.data={},this._model.data[e.jstree.root]={id:e.jstree.root,parent:null,parents:[],children:[],children_d:[],state:{loaded:!1}},this._data.core.selected=[],this._data.core.last_clicked=null,this._data.core.focused=null
-var r=this.get_container_ul()[0].className
-t||(this.element.html("<ul class='"+r+"' role='group'><li class='jstree-initial-node jstree-loading jstree-leaf jstree-last' role='treeitem' id='j"+this._id+"_loading'><i class='jstree-icon jstree-ocl'></i><a class='jstree-anchor' href='#'><i class='jstree-icon jstree-themeicon-hidden'></i>"+this.get_string("Loading ...")+"</a></li></ul>"),this.element.attr("aria-activedescendant","j"+this._id+"_loading")),this.load_node(e.jstree.root,function(t,n){n&&(this.get_container_ul()[0].className=r,this._firstChild(this.get_container_ul()[0])&&this.element.attr("aria-activedescendant",this._firstChild(this.get_container_ul()[0]).id),this.set_state(e.extend(!0,{},this._data.core.state),function(){this.trigger("refresh")})),this._data.core.state=null})},refresh_node:function(t){if(!(t=this.get_node(t))||t.id===e.jstree.root)return!1
-var n=[],r=[],i=this._data.core.selected.concat([])
-r.push(t.id),!0===t.state.opened&&n.push(t.id),this.get_node(t,!0).find(".jstree-open").each(function(){r.push(this.id),n.push(this.id)}),this._load_nodes(r,e.proxy(function(e){this.open_node(n,!1,0),this.select_node(i),this.trigger("refresh_node",{node:t,nodes:e})},this),!1,!0)},set_id:function(t,n){if(!(t=this.get_node(t))||t.id===e.jstree.root)return!1
-var r,i,o=this._model.data,s=t.id
-for(n=n.toString(),o[t.parent].children[e.inArray(t.id,o[t.parent].children)]=n,r=0,i=t.parents.length;i>r;r++)o[t.parents[r]].children_d[e.inArray(t.id,o[t.parents[r]].children_d)]=n
-for(r=0,i=t.children.length;i>r;r++)o[t.children[r]].parent=n
-for(r=0,i=t.children_d.length;i>r;r++)o[t.children_d[r]].parents[e.inArray(t.id,o[t.children_d[r]].parents)]=n
-return r=e.inArray(t.id,this._data.core.selected),-1!==r&&(this._data.core.selected[r]=n),r=this.get_node(t.id,!0),r&&(r.attr("id",n),this.element.attr("aria-activedescendant")===t.id&&this.element.attr("aria-activedescendant",n)),delete o[t.id],t.id=n,t.li_attr.id=n,o[n]=t,this.trigger("set_id",{node:t,new:t.id,old:s}),!0},get_text:function(t){return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&t.text},set_text:function(t,n){var r,i
-if(e.isArray(t)){for(t=t.slice(),r=0,i=t.length;i>r;r++)this.set_text(t[r],n)
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(t.text=n,this.get_node(t,!0).length&&this.redraw_node(t.id),this.trigger("set_text",{obj:t,text:n}),!0)},get_json:function(t,n,r){if(!(t=this.get_node(t||e.jstree.root)))return!1
-n&&n.flat&&!r&&(r=[])
-var i,o,s={id:t.id,text:t.text,icon:this.get_icon(t),li_attr:e.extend(!0,{},t.li_attr),a_attr:e.extend(!0,{},t.a_attr),state:{},data:(!n||!n.no_data)&&e.extend(!0,e.isArray(t.data)?[]:{},t.data)}
-if(n&&n.flat?s.parent=t.parent:s.children=[],n&&n.no_state)delete s.state
-else for(i in t.state)t.state.hasOwnProperty(i)&&(s.state[i]=t.state[i])
-if(n&&n.no_li_attr&&delete s.li_attr,n&&n.no_a_attr&&delete s.a_attr,n&&n.no_id&&(delete s.id,s.li_attr&&s.li_attr.id&&delete s.li_attr.id,s.a_attr&&s.a_attr.id&&delete s.a_attr.id),n&&n.flat&&t.id!==e.jstree.root&&r.push(s),!n||!n.no_children)for(i=0,o=t.children.length;o>i;i++)n&&n.flat?this.get_json(t.children[i],n,r):s.children.push(this.get_json(t.children[i],n))
-return n&&n.flat?r:t.id===e.jstree.root?s.children:s},create_node:function(n,r,i,o,s){if(null===n&&(n=e.jstree.root),!(n=this.get_node(n)))return!1
-if(i=i===t?"last":i,!i.toString().match(/^(before|after)$/)&&!s&&!this.is_loaded(n))return this.load_node(n,function(){this.create_node(n,r,i,o,!0)})
-r||(r={text:this.get_string("New node")}),r="string"==typeof r?{text:r}:e.extend(!0,{},r),r.text===t&&(r.text=this.get_string("New node"))
-var a,u,c,l
-switch(n.id===e.jstree.root&&("before"===i&&(i="first"),"after"===i&&(i="last")),i){case"before":a=this.get_node(n.parent),i=e.inArray(n.id,a.children),n=a
-break
-case"after":a=this.get_node(n.parent),i=e.inArray(n.id,a.children)+1,n=a
-break
-case"inside":case"first":i=0
-break
-case"last":i=n.children.length
-break
-default:i||(i=0)}if(i>n.children.length&&(i=n.children.length),r.id||(r.id=!0),!this.check("create_node",r,n,i))return this.settings.core.error.call(this,this._data.core.last_error),!1
-if(!0===r.id&&delete r.id,!(r=this._parse_model_from_json(r,n.id,n.parents.concat())))return!1
-for(a=this.get_node(r),u=[],u.push(r),u=u.concat(a.children_d),this.trigger("model",{nodes:u,parent:n.id}),n.children_d=n.children_d.concat(u),c=0,l=n.parents.length;l>c;c++)this._model.data[n.parents[c]].children_d=this._model.data[n.parents[c]].children_d.concat(u)
-for(r=a,a=[],c=0,l=n.children.length;l>c;c++)a[c>=i?c+1:c]=n.children[c]
-return a[i]=r.id,n.children=a,this.redraw_node(n,!0),this.trigger("create_node",{node:this.get_node(r),parent:n.id,position:i}),o&&o.call(this,this.get_node(r)),r.id},rename_node:function(t,n){var r,i,o
-if(e.isArray(t)){for(t=t.slice(),r=0,i=t.length;i>r;r++)this.rename_node(t[r],n)
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(o=t.text,this.check("rename_node",t,this.get_parent(t),n)?(this.set_text(t,n),this.trigger("rename_node",{node:t,text:n,old:o}),!0):(this.settings.core.error.call(this,this._data.core.last_error),!1))},delete_node:function(t){var n,r,i,o,s,a,u,c,l,h,d,p
-if(e.isArray(t)){for(t=t.slice(),n=0,r=t.length;r>n;n++)this.delete_node(t[n])
-return!0}if(!(t=this.get_node(t))||t.id===e.jstree.root)return!1
-if(i=this.get_node(t.parent),o=e.inArray(t.id,i.children),h=!1,!this.check("delete_node",t,i,o))return this.settings.core.error.call(this,this._data.core.last_error),!1
-for(-1!==o&&(i.children=e.vakata.array_remove(i.children,o)),s=t.children_d.concat([]),s.push(t.id),a=0,u=t.parents.length;u>a;a++)this._model.data[t.parents[a]].children_d=e.vakata.array_filter(this._model.data[t.parents[a]].children_d,function(t){return-1===e.inArray(t,s)})
-for(c=0,l=s.length;l>c;c++)if(this._model.data[s[c]].state.selected){h=!0
-break}for(h&&(this._data.core.selected=e.vakata.array_filter(this._data.core.selected,function(t){return-1===e.inArray(t,s)})),this.trigger("delete_node",{node:t,parent:i.id}),h&&this.trigger("changed",{action:"delete_node",node:t,selected:this._data.core.selected,parent:i.id}),c=0,l=s.length;l>c;c++)delete this._model.data[s[c]]
-return-1!==e.inArray(this._data.core.focused,s)&&(this._data.core.focused=null,d=this.element[0].scrollTop,p=this.element[0].scrollLeft,i.id===e.jstree.root?this._model.data[e.jstree.root].children[0]&&this.get_node(this._model.data[e.jstree.root].children[0],!0).children(".jstree-anchor").focus():this.get_node(i,!0).children(".jstree-anchor").focus(),this.element[0].scrollTop=d,this.element[0].scrollLeft=p),this.redraw_node(i,!0),!0},check:function(t,n,r,i,o){n=n&&n.id?n:this.get_node(n),r=r&&r.id?r:this.get_node(r)
-var s=t.match(/^move_node|copy_node|create_node$/i)?r:n,a=this.settings.core.check_callback
-if("move_node"===t||"copy_node"===t){if(!(o&&o.is_multi||"move_node"!==t||e.inArray(n.id,r.children)!==i))return this._data.core.last_error={error:"check",plugin:"core",id:"core_08",reason:"Moving node to its current position",data:JSON.stringify({chk:t,pos:i,obj:!(!n||!n.id)&&n.id,par:!(!r||!r.id)&&r.id})},!1
-if(!(o&&o.is_multi||n.id!==r.id&&("move_node"!==t||e.inArray(n.id,r.children)!==i)&&-1===e.inArray(r.id,n.children_d)))return this._data.core.last_error={error:"check",plugin:"core",id:"core_01",reason:"Moving parent inside child",data:JSON.stringify({chk:t,pos:i,obj:!(!n||!n.id)&&n.id,par:!(!r||!r.id)&&r.id})},!1}return s&&s.data&&(s=s.data),s&&s.functions&&(!1===s.functions[t]||!0===s.functions[t])?(!1===s.functions[t]&&(this._data.core.last_error={error:"check",plugin:"core",id:"core_02",reason:"Node data prevents function: "+t,data:JSON.stringify({chk:t,pos:i,obj:!(!n||!n.id)&&n.id,par:!(!r||!r.id)&&r.id})}),s.functions[t]):!(!1===a||e.isFunction(a)&&!1===a.call(this,t,n,r,i,o)||a&&!1===a[t])||(this._data.core.last_error={error:"check",plugin:"core",id:"core_03",reason:"User config for core.check_callback prevents function: "+t,data:JSON.stringify({chk:t,pos:i,obj:!(!n||!n.id)&&n.id,par:!(!r||!r.id)&&r.id})},!1)},last_error:function(){return this._data.core.last_error},move_node:function(n,r,i,o,s,a,u){var c,l,h,d,p,f,g,m,v,y,b,C,A,_
-if(r=this.get_node(r),i=i===t?0:i,!r)return!1
-if(!i.toString().match(/^(before|after)$/)&&!s&&!this.is_loaded(r))return this.load_node(r,function(){this.move_node(n,r,i,o,!0,!1,u)})
-if(e.isArray(n)){if(1!==n.length){for(c=0,l=n.length;l>c;c++)(v=this.move_node(n[c],r,i,o,s,!1,u))&&(r=v,i="after")
-return this.redraw(),!0}n=n[0]}if(!(n=n&&n.id?n:this.get_node(n))||n.id===e.jstree.root)return!1
-if(h=(n.parent||e.jstree.root).toString(),p=i.toString().match(/^(before|after)$/)&&r.id!==e.jstree.root?this.get_node(r.parent):r,f=u||(this._model.data[n.id]?this:e.jstree.reference(n.id)),g=!f||!f._id||this._id!==f._id,d=f&&f._id&&h&&f._model.data[h]&&f._model.data[h].children?e.inArray(n.id,f._model.data[h].children):-1,f&&f._id&&(n=f._model.data[n.id]),g)return!!(v=this.copy_node(n,r,i,o,s,!1,u))&&(f&&f.delete_node(n),v)
-switch(r.id===e.jstree.root&&("before"===i&&(i="first"),"after"===i&&(i="last")),i){case"before":i=e.inArray(r.id,p.children)
-break
-case"after":i=e.inArray(r.id,p.children)+1
-break
-case"inside":case"first":i=0
-break
-case"last":i=p.children.length
-break
-default:i||(i=0)}if(i>p.children.length&&(i=p.children.length),!this.check("move_node",n,p,i,{core:!0,origin:u,is_multi:f&&f._id&&f._id!==this._id,is_foreign:!f||!f._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1
-if(n.parent===p.id){for(m=p.children.concat(),v=e.inArray(n.id,m),-1!==v&&(m=e.vakata.array_remove(m,v),i>v&&i--),v=[],y=0,b=m.length;b>y;y++)v[y>=i?y+1:y]=m[y]
-v[i]=n.id,p.children=v,this._node_changed(p.id),this.redraw(p.id===e.jstree.root)}else{for(v=n.children_d.concat(),v.push(n.id),y=0,b=n.parents.length;b>y;y++){for(m=[],_=f._model.data[n.parents[y]].children_d,C=0,A=_.length;A>C;C++)-1===e.inArray(_[C],v)&&m.push(_[C])
-f._model.data[n.parents[y]].children_d=m}for(f._model.data[h].children=e.vakata.array_remove_item(f._model.data[h].children,n.id),y=0,b=p.parents.length;b>y;y++)this._model.data[p.parents[y]].children_d=this._model.data[p.parents[y]].children_d.concat(v)
-for(m=[],y=0,b=p.children.length;b>y;y++)m[y>=i?y+1:y]=p.children[y]
-for(m[i]=n.id,p.children=m,p.children_d.push(n.id),p.children_d=p.children_d.concat(n.children_d),n.parent=p.id,v=p.parents.concat(),v.unshift(p.id),_=n.parents.length,n.parents=v,v=v.concat(),y=0,b=n.children_d.length;b>y;y++)this._model.data[n.children_d[y]].parents=this._model.data[n.children_d[y]].parents.slice(0,-1*_),Array.prototype.push.apply(this._model.data[n.children_d[y]].parents,v);(h===e.jstree.root||p.id===e.jstree.root)&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||(this._node_changed(h),this._node_changed(p.id)),a||this.redraw()}return o&&o.call(this,n,p,i),this.trigger("move_node",{node:n,parent:p.id,position:i,old_parent:h,old_position:d,is_multi:f&&f._id&&f._id!==this._id,is_foreign:!f||!f._id,old_instance:f,new_instance:this}),n.id},copy_node:function(n,r,i,o,s,a,u){var c,l,h,d,p,f,g,m,v,y
-if(r=this.get_node(r),i=i===t?0:i,!r)return!1
-if(!i.toString().match(/^(before|after)$/)&&!s&&!this.is_loaded(r))return this.load_node(r,function(){this.copy_node(n,r,i,o,!0,!1,u)})
-if(e.isArray(n)){if(1!==n.length){for(c=0,l=n.length;l>c;c++)(d=this.copy_node(n[c],r,i,o,s,!0,u))&&(r=d,i="after")
-return this.redraw(),!0}n=n[0]}if(!(n=n&&n.id?n:this.get_node(n))||n.id===e.jstree.root)return!1
-switch(m=(n.parent||e.jstree.root).toString(),v=i.toString().match(/^(before|after)$/)&&r.id!==e.jstree.root?this.get_node(r.parent):r,y=u||(this._model.data[n.id]?this:e.jstree.reference(n.id)),!y||!y._id||this._id!==y._id,y&&y._id&&(n=y._model.data[n.id]),r.id===e.jstree.root&&("before"===i&&(i="first"),"after"===i&&(i="last")),i){case"before":i=e.inArray(r.id,v.children)
-break
-case"after":i=e.inArray(r.id,v.children)+1
-break
-case"inside":case"first":i=0
-break
-case"last":i=v.children.length
-break
-default:i||(i=0)}if(i>v.children.length&&(i=v.children.length),!this.check("copy_node",n,v,i,{core:!0,origin:u,is_multi:y&&y._id&&y._id!==this._id,is_foreign:!y||!y._id}))return this.settings.core.error.call(this,this._data.core.last_error),!1
-if(!(g=y?y.get_json(n,{no_id:!0,no_data:!0,no_state:!0}):n))return!1
-if(!0===g.id&&delete g.id,!(g=this._parse_model_from_json(g,v.id,v.parents.concat())))return!1
-for(d=this.get_node(g),n&&n.state&&!1===n.state.loaded&&(d.state.loaded=!1),h=[],h.push(g),h=h.concat(d.children_d),this.trigger("model",{nodes:h,parent:v.id}),p=0,f=v.parents.length;f>p;p++)this._model.data[v.parents[p]].children_d=this._model.data[v.parents[p]].children_d.concat(h)
-for(h=[],p=0,f=v.children.length;f>p;p++)h[p>=i?p+1:p]=v.children[p]
-return h[i]=d.id,v.children=h,v.children_d.push(d.id),v.children_d=v.children_d.concat(d.children_d),v.id===e.jstree.root&&(this._model.force_full_redraw=!0),this._model.force_full_redraw||this._node_changed(v.id),a||this.redraw(v.id===e.jstree.root),o&&o.call(this,d,v,i),this.trigger("copy_node",{node:d,original:n,parent:v.id,position:i,old_parent:m,old_position:y&&y._id&&m&&y._model.data[m]&&y._model.data[m].children?e.inArray(n.id,y._model.data[m].children):-1,is_multi:y&&y._id&&y._id!==this._id,is_foreign:!y||!y._id,old_instance:y,new_instance:this}),d.id},cut:function(t){if(t||(t=this._data.core.selected.concat()),e.isArray(t)||(t=[t]),!t.length)return!1
-var n,s,a,u=[]
-for(s=0,a=t.length;a>s;s++)(n=this.get_node(t[s]))&&n.id&&n.id!==e.jstree.root&&u.push(n)
-return!!u.length&&(r=u,o=this,i="move_node",void this.trigger("cut",{node:t}))},copy:function(t){if(t||(t=this._data.core.selected.concat()),e.isArray(t)||(t=[t]),!t.length)return!1
-var n,s,a,u=[]
-for(s=0,a=t.length;a>s;s++)(n=this.get_node(t[s]))&&n.id&&n.id!==e.jstree.root&&u.push(n)
-return!!u.length&&(r=u,o=this,i="copy_node",void this.trigger("copy",{node:t}))},get_buffer:function(){return{mode:i,node:r,inst:o}},can_paste:function(){return!1!==i&&!1!==r},paste:function(e,t){return!!((e=this.get_node(e))&&i&&i.match(/^(copy_node|move_node)$/)&&r)&&(this[i](r,e,t,!1,!1,!1,o)&&this.trigger("paste",{parent:e.id,node:r,mode:i}),r=!1,i=!1,void(o=!1))},clear_buffer:function(){r=!1,i=!1,o=!1,this.trigger("clear_buffer")},edit:function(t,n,r){var i,o,s,a,c,l,h,d,p,f=!1
-return!!(t=this.get_node(t))&&(this.check("edit",t,this.get_parent(t))?(p=t,n="string"==typeof n?n:t.text,this.set_text(t,""),t=this._open_to(t),p.text=n,i=this._data.core.rtl,o=this.element.width(),this._data.core.focused=p.id,s=t.children(".jstree-anchor").focus(),a=e("<span>"),c=n,l=e("<div />",{css:{position:"absolute",top:"-200px",left:i?"0px":"-1000px",visibility:"hidden"}}).appendTo(u.body),h=e("<input />",{value:c,class:"jstree-rename-input",css:{padding:"0",border:"1px solid silver","box-sizing":"border-box",display:"inline-block",height:this._data.core.li_height+"px",lineHeight:this._data.core.li_height+"px",width:"150px"},blur:e.proxy(function(n){n.stopImmediatePropagation(),n.preventDefault()
-var i,o=a.children(".jstree-rename-input"),u=o.val(),d=this.settings.core.force_text
-""===u&&(u=c),l.remove(),a.replaceWith(s),a.remove(),c=d?c:e("<div></div>").append(e.parseHTML(c)).html(),t=this.get_node(t),this.set_text(t,c),i=!!this.rename_node(t,d?e("<div></div>").text(u).text():e("<div></div>").append(e.parseHTML(u)).html()),i||this.set_text(t,c),this._data.core.focused=p.id,setTimeout(e.proxy(function(){var e=this.get_node(p.id,!0)
-e.length&&(this._data.core.focused=p.id,e.children(".jstree-anchor").focus())},this),0),r&&r.call(this,p,i,f),h=null},this),keydown:function(e){var t=e.which
-27===t&&(f=!0,this.value=c),(27===t||13===t||37===t||38===t||39===t||40===t||32===t)&&e.stopImmediatePropagation(),(27===t||13===t)&&(e.preventDefault(),this.blur())},click:function(e){e.stopImmediatePropagation()},mousedown:function(e){e.stopImmediatePropagation()},keyup:function(e){h.width(Math.min(l.text("pW"+this.value).width(),o))},keypress:function(e){return 13!==e.which&&void 0}}),d={fontFamily:s.css("fontFamily")||"",fontSize:s.css("fontSize")||"",fontWeight:s.css("fontWeight")||"",fontStyle:s.css("fontStyle")||"",fontStretch:s.css("fontStretch")||"",fontVariant:s.css("fontVariant")||"",letterSpacing:s.css("letterSpacing")||"",wordSpacing:s.css("wordSpacing")||""},a.attr("class",s.attr("class")).append(s.contents().clone()).append(h),s.replaceWith(a),l.css(d),h.css(d).width(Math.min(l.text("pW"+h[0].value).width(),o))[0].select(),void e(u).one("mousedown.jstree touchstart.jstree dnd_start.vakata",function(t){h&&t.target!==h&&e(h).blur()})):(this.settings.core.error.call(this,this._data.core.last_error),!1))},set_theme:function(t,n){if(!t)return!1
-if(!0===n){var r=this.settings.core.themes.dir
-r||(r=e.jstree.path+"/themes"),n=r+"/"+t+"/style.css"}n&&-1===e.inArray(n,s)&&(e("head").append('<link rel="stylesheet" href="'+n+'" type="text/css" />'),s.push(n)),this._data.core.themes.name&&this.element.removeClass("jstree-"+this._data.core.themes.name),this._data.core.themes.name=t,this.element.addClass("jstree-"+t),this.element[this.settings.core.themes.responsive?"addClass":"removeClass"]("jstree-"+t+"-responsive"),this.trigger("set_theme",{theme:t})},get_theme:function(){return this._data.core.themes.name},set_theme_variant:function(e){this._data.core.themes.variant&&this.element.removeClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant),this._data.core.themes.variant=e,e&&this.element.addClass("jstree-"+this._data.core.themes.name+"-"+this._data.core.themes.variant)},get_theme_variant:function(){return this._data.core.themes.variant},show_stripes:function(){this._data.core.themes.stripes=!0,this.get_container_ul().addClass("jstree-striped"),this.trigger("show_stripes")},hide_stripes:function(){this._data.core.themes.stripes=!1,this.get_container_ul().removeClass("jstree-striped"),this.trigger("hide_stripes")},toggle_stripes:function(){this._data.core.themes.stripes?this.hide_stripes():this.show_stripes()},show_dots:function(){this._data.core.themes.dots=!0,this.get_container_ul().removeClass("jstree-no-dots"),this.trigger("show_dots")},hide_dots:function(){this._data.core.themes.dots=!1,this.get_container_ul().addClass("jstree-no-dots"),this.trigger("hide_dots")},toggle_dots:function(){this._data.core.themes.dots?this.hide_dots():this.show_dots()},show_icons:function(){this._data.core.themes.icons=!0,this.get_container_ul().removeClass("jstree-no-icons"),this.trigger("show_icons")},hide_icons:function(){this._data.core.themes.icons=!1,this.get_container_ul().addClass("jstree-no-icons"),this.trigger("hide_icons")},toggle_icons:function(){this._data.core.themes.icons?this.hide_icons():this.show_icons()},show_ellipsis:function(){this._data.core.themes.ellipsis=!0,this.get_container_ul().addClass("jstree-ellipsis"),this.trigger("show_ellipsis")},hide_ellipsis:function(){this._data.core.themes.ellipsis=!1,this.get_container_ul().removeClass("jstree-ellipsis"),this.trigger("hide_ellipsis")},toggle_ellipsis:function(){this._data.core.themes.ellipsis?this.hide_ellipsis():this.show_ellipsis()},set_icon:function(n,r){var i,o,s,a
-if(e.isArray(n)){for(n=n.slice(),i=0,o=n.length;o>i;i++)this.set_icon(n[i],r)
-return!0}return!(!(n=this.get_node(n))||n.id===e.jstree.root)&&(a=n.icon,n.icon=!0===r||null===r||r===t||""===r||r,s=this.get_node(n,!0).children(".jstree-anchor").children(".jstree-themeicon"),!1===r?(s.removeClass("jstree-themeicon-custom "+a).css("background","").removeAttr("rel"),this.hide_icon(n)):!0===r||null===r||r===t||""===r?(s.removeClass("jstree-themeicon-custom "+a).css("background","").removeAttr("rel"),!1===a&&this.show_icon(n)):-1===r.indexOf("/")&&-1===r.indexOf(".")?(s.removeClass(a).css("background",""),s.addClass(r+" jstree-themeicon-custom").attr("rel",r),!1===a&&this.show_icon(n)):(s.removeClass(a).css("background",""),s.addClass("jstree-themeicon-custom").css("background","url('"+r+"') center center no-repeat").attr("rel",r),!1===a&&this.show_icon(n)),!0)},get_icon:function(t){return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&t.icon},hide_icon:function(t){var n,r
-if(e.isArray(t)){for(t=t.slice(),n=0,r=t.length;r>n;n++)this.hide_icon(t[n])
-return!0}return!(!(t=this.get_node(t))||t===e.jstree.root)&&(t.icon=!1,this.get_node(t,!0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"),!0)},show_icon:function(t){var n,r,i
-if(e.isArray(t)){for(t=t.slice(),n=0,r=t.length;r>n;n++)this.show_icon(t[n])
-return!0}return!(!(t=this.get_node(t))||t===e.jstree.root)&&(i=this.get_node(t,!0),t.icon=!i.length||i.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"),t.icon||(t.icon=!0),i.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"),!0)}},e.vakata={},e.vakata.attributes=function(t,n){t=e(t)[0]
-var r=n?{}:[]
-return t&&t.attributes&&e.each(t.attributes,function(t,i){-1===e.inArray(i.name.toLowerCase(),["style","contenteditable","hasfocus","tabindex"])&&null!==i.value&&""!==e.trim(i.value)&&(n?r[i.name]=i.value:r.push(i.name))}),r},e.vakata.array_unique=function(e){var n,r,i=[],o={}
-for(n=0,r=e.length;r>n;n++)o[e[n]]===t&&(i.push(e[n]),o[e[n]]=!0)
-return i},e.vakata.array_remove=function(e,t){return e.splice(t,1),e},e.vakata.array_remove_item=function(t,n){var r=e.inArray(n,t)
-return-1!==r?e.vakata.array_remove(t,r):t},e.vakata.array_filter=function(e,t,n,r,i){if(e.filter)return e.filter(t,n)
-r=[]
-for(i in e)~~i+""==i+""&&i>=0&&t.call(n,e[i],+i,e)&&r.push(e[i])
-return r},e.jstree.plugins.changed=function(e,t){var n=[]
-this.trigger=function(e,r){var i,o
-if(r||(r={}),"changed"===e.replace(".jstree","")){r.changed={selected:[],deselected:[]}
-var s={}
-for(i=0,o=n.length;o>i;i++)s[n[i]]=1
-for(i=0,o=r.selected.length;o>i;i++)s[r.selected[i]]?s[r.selected[i]]=2:r.changed.selected.push(r.selected[i])
-for(i=0,o=n.length;o>i;i++)1===s[n[i]]&&r.changed.deselected.push(n[i])
-n=r.selected.slice()}t.trigger.call(this,e,r)},this.refresh=function(e,r){return n=[],t.refresh.apply(this,arguments)}}
-var h=u.createElement("I")
-h.className="jstree-icon jstree-checkbox",h.setAttribute("role","presentation"),e.jstree.defaults.checkbox={visible:!0,three_state:!0,whole_node:!0,keep_selected_style:!0,cascade:"",tie_selection:!0,cascade_to_disabled:!0,cascade_to_hidden:!0},e.jstree.plugins.checkbox=function(n,r){this.bind=function(){r.bind.call(this),this._data.checkbox.uto=!1,this._data.checkbox.selected=[],this.settings.checkbox.three_state&&(this.settings.checkbox.cascade="up+down+undetermined"),this.element.on("init.jstree",e.proxy(function(){this._data.checkbox.visible=this.settings.checkbox.visible,this.settings.checkbox.keep_selected_style||this.element.addClass("jstree-checkbox-no-clicked"),this.settings.checkbox.tie_selection&&this.element.addClass("jstree-checkbox-selection")},this)).on("loading.jstree",e.proxy(function(){this[this._data.checkbox.visible?"show_checkboxes":"hide_checkboxes"]()},this)),-1!==this.settings.checkbox.cascade.indexOf("undetermined")&&this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree",e.proxy(function(){this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(e.proxy(this._undetermined,this),50)},this)),this.settings.checkbox.tie_selection||this.element.on("model.jstree",e.proxy(function(e,t){var n,r,i=this._model.data,o=(i[t.parent],t.nodes)
-for(n=0,r=o.length;r>n;n++)i[o[n]].state.checked=i[o[n]].state.checked||i[o[n]].original&&i[o[n]].original.state&&i[o[n]].original.state.checked,i[o[n]].state.checked&&this._data.checkbox.selected.push(o[n])},this)),(-1!==this.settings.checkbox.cascade.indexOf("up")||-1!==this.settings.checkbox.cascade.indexOf("down"))&&this.element.on("model.jstree",e.proxy(function(t,n){var r,i,o,s,a,u,c=this._model.data,l=c[n.parent],h=n.nodes,d=[],p=this.settings.checkbox.cascade,f=this.settings.checkbox.tie_selection
-if(-1!==p.indexOf("down"))if(l.state[f?"selected":"checked"]){for(i=0,o=h.length;o>i;i++)c[h[i]].state[f?"selected":"checked"]=!0
-this._data[f?"core":"checkbox"].selected=this._data[f?"core":"checkbox"].selected.concat(h)}else for(i=0,o=h.length;o>i;i++)if(c[h[i]].state[f?"selected":"checked"]){for(s=0,a=c[h[i]].children_d.length;a>s;s++)c[c[h[i]].children_d[s]].state[f?"selected":"checked"]=!0
-this._data[f?"core":"checkbox"].selected=this._data[f?"core":"checkbox"].selected.concat(c[h[i]].children_d)}if(-1!==p.indexOf("up")){for(i=0,o=l.children_d.length;o>i;i++)c[l.children_d[i]].children.length||d.push(c[l.children_d[i]].parent)
-for(d=e.vakata.array_unique(d),s=0,a=d.length;a>s;s++)for(l=c[d[s]];l&&l.id!==e.jstree.root;){for(r=0,i=0,o=l.children.length;o>i;i++)r+=c[l.children[i]].state[f?"selected":"checked"]
-if(r!==o)break
-l.state[f?"selected":"checked"]=!0,this._data[f?"core":"checkbox"].selected.push(l.id),u=this.get_node(l,!0),u&&u.length&&u.attr("aria-selected",!0).children(".jstree-anchor").addClass(f?"jstree-clicked":"jstree-checked"),l=this.get_node(l.parent)}}this._data[f?"core":"checkbox"].selected=e.vakata.array_unique(this._data[f?"core":"checkbox"].selected)},this)).on(this.settings.checkbox.tie_selection?"select_node.jstree":"check_node.jstree",e.proxy(function(t,n){var r,i,o,s,a=n.node,u=this._model.data,c=this.get_node(a.parent),l=this.settings.checkbox.cascade,h=this.settings.checkbox.tie_selection,d={},p=this._data[h?"core":"checkbox"].selected
-for(r=0,i=p.length;i>r;r++)d[p[r]]=!0
-if(-1!==l.indexOf("down")){var f=this._cascade_new_checked_state(a.id,!0),g=a.children_d.concat(a.id)
-for(r=0,i=g.length;i>r;r++)f.indexOf(g[r])>-1?d[g[r]]=!0:delete d[g[r]]}if(-1!==l.indexOf("up"))for(;c&&c.id!==e.jstree.root;){for(o=0,r=0,i=c.children.length;i>r;r++)o+=u[c.children[r]].state[h?"selected":"checked"]
-if(o!==i)break
-c.state[h?"selected":"checked"]=!0,d[c.id]=!0,s=this.get_node(c,!0),s&&s.length&&s.attr("aria-selected",!0).children(".jstree-anchor").addClass(h?"jstree-clicked":"jstree-checked"),c=this.get_node(c.parent)}p=[]
-for(r in d)d.hasOwnProperty(r)&&p.push(r)
-this._data[h?"core":"checkbox"].selected=p},this)).on(this.settings.checkbox.tie_selection?"deselect_all.jstree":"uncheck_all.jstree",e.proxy(function(t,n){var r,i,o,s=this.get_node(e.jstree.root),a=this._model.data
-for(r=0,i=s.children_d.length;i>r;r++)(o=a[s.children_d[r]])&&o.original&&o.original.state&&o.original.state.undetermined&&(o.original.state.undetermined=!1)},this)).on(this.settings.checkbox.tie_selection?"deselect_node.jstree":"uncheck_node.jstree",e.proxy(function(t,n){var r,i,o,s=n.node,a=(this.get_node(s,!0),this.settings.checkbox.cascade),u=this.settings.checkbox.tie_selection,c=this._data[u?"core":"checkbox"].selected,l=s.children_d.concat(s.id)
-if(-1!==a.indexOf("down")){var h=this._cascade_new_checked_state(s.id,!1)
-c=e.vakata.array_filter(c,function(e){return-1===l.indexOf(e)||h.indexOf(e)>-1})}if(-1!==a.indexOf("up")&&-1===c.indexOf(s.id)){for(r=0,i=s.parents.length;i>r;r++)o=this._model.data[s.parents[r]],o.state[u?"selected":"checked"]=!1,o&&o.original&&o.original.state&&o.original.state.undetermined&&(o.original.state.undetermined=!1),(o=this.get_node(s.parents[r],!0))&&o.length&&o.attr("aria-selected",!1).children(".jstree-anchor").removeClass(u?"jstree-clicked":"jstree-checked")
-c=e.vakata.array_filter(c,function(e){return-1===s.parents.indexOf(e)})}this._data[u?"core":"checkbox"].selected=c},this)),-1!==this.settings.checkbox.cascade.indexOf("up")&&this.element.on("delete_node.jstree",e.proxy(function(t,n){for(var r,i,o,s,a=this.get_node(n.parent),u=this._model.data,c=this.settings.checkbox.tie_selection;a&&a.id!==e.jstree.root&&!a.state[c?"selected":"checked"];){for(o=0,r=0,i=a.children.length;i>r;r++)o+=u[a.children[r]].state[c?"selected":"checked"]
-if(!(i>0&&o===i))break
-a.state[c?"selected":"checked"]=!0,this._data[c?"core":"checkbox"].selected.push(a.id),s=this.get_node(a,!0),s&&s.length&&s.attr("aria-selected",!0).children(".jstree-anchor").addClass(c?"jstree-clicked":"jstree-checked"),a=this.get_node(a.parent)}},this)).on("move_node.jstree",e.proxy(function(t,n){var r,i,o,s,a,u=n.is_multi,c=n.old_parent,l=this.get_node(n.parent),h=this._model.data,d=this.settings.checkbox.tie_selection
-if(!u)for(r=this.get_node(c);r&&r.id!==e.jstree.root&&!r.state[d?"selected":"checked"];){for(i=0,o=0,s=r.children.length;s>o;o++)i+=h[r.children[o]].state[d?"selected":"checked"]
-if(!(s>0&&i===s))break
-r.state[d?"selected":"checked"]=!0,this._data[d?"core":"checkbox"].selected.push(r.id),a=this.get_node(r,!0),a&&a.length&&a.attr("aria-selected",!0).children(".jstree-anchor").addClass(d?"jstree-clicked":"jstree-checked"),r=this.get_node(r.parent)}for(r=l;r&&r.id!==e.jstree.root;){for(i=0,o=0,s=r.children.length;s>o;o++)i+=h[r.children[o]].state[d?"selected":"checked"]
-if(i===s)r.state[d?"selected":"checked"]||(r.state[d?"selected":"checked"]=!0,this._data[d?"core":"checkbox"].selected.push(r.id),(a=this.get_node(r,!0))&&a.length&&a.attr("aria-selected",!0).children(".jstree-anchor").addClass(d?"jstree-clicked":"jstree-checked"))
-else{if(!r.state[d?"selected":"checked"])break
-r.state[d?"selected":"checked"]=!1,this._data[d?"core":"checkbox"].selected=e.vakata.array_remove_item(this._data[d?"core":"checkbox"].selected,r.id),(a=this.get_node(r,!0))&&a.length&&a.attr("aria-selected",!1).children(".jstree-anchor").removeClass(d?"jstree-clicked":"jstree-checked")}r=this.get_node(r.parent)}},this))},this.get_undetermined=function(n){if(-1===this.settings.checkbox.cascade.indexOf("undetermined"))return[]
-var r,i,o,s,a={},u=this._model.data,c=this.settings.checkbox.tie_selection,l=this._data[c?"core":"checkbox"].selected,h=[],d=this,p=[]
-for(r=0,i=l.length;i>r;r++)if(u[l[r]]&&u[l[r]].parents)for(o=0,s=u[l[r]].parents.length;s>o&&a[u[l[r]].parents[o]]===t;o++)u[l[r]].parents[o]!==e.jstree.root&&(a[u[l[r]].parents[o]]=!0,h.push(u[l[r]].parents[o]))
-for(this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function(){var n,c=d.get_node(this)
-if(c)if(c.state.loaded){for(r=0,i=c.children_d.length;i>r;r++)if(n=u[c.children_d[r]],!n.state.loaded&&n.original&&n.original.state&&n.original.state.undetermined&&!0===n.original.state.undetermined)for(a[n.id]===t&&n.id!==e.jstree.root&&(a[n.id]=!0,h.push(n.id)),o=0,s=n.parents.length;s>o;o++)a[n.parents[o]]===t&&n.parents[o]!==e.jstree.root&&(a[n.parents[o]]=!0,h.push(n.parents[o]))}else if(c.original&&c.original.state&&c.original.state.undetermined&&!0===c.original.state.undetermined)for(a[c.id]===t&&c.id!==e.jstree.root&&(a[c.id]=!0,h.push(c.id)),o=0,s=c.parents.length;s>o;o++)a[c.parents[o]]===t&&c.parents[o]!==e.jstree.root&&(a[c.parents[o]]=!0,h.push(c.parents[o]))}),r=0,i=h.length;i>r;r++)u[h[r]].state[c?"selected":"checked"]||p.push(n?u[h[r]]:h[r])
-return p},this._undetermined=function(){if(null!==this.element){var e,t,n,r=this.get_undetermined(!1)
-for(this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"),e=0,t=r.length;t>e;e++)(n=this.get_node(r[e],!0))&&n.length&&n.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined")}},this.redraw_node=function(t,n,i,o){if(t=r.redraw_node.apply(this,arguments)){var s,a,u=null,c=null
-for(s=0,a=t.childNodes.length;a>s;s++)if(t.childNodes[s]&&t.childNodes[s].className&&-1!==t.childNodes[s].className.indexOf("jstree-anchor")){u=t.childNodes[s]
-break}u&&(!this.settings.checkbox.tie_selection&&this._model.data[t.id].state.checked&&(u.className+=" jstree-checked"),c=h.cloneNode(!1),this._model.data[t.id].state.checkbox_disabled&&(c.className+=" jstree-checkbox-disabled"),u.insertBefore(c,u.childNodes[0]))}return i||-1===this.settings.checkbox.cascade.indexOf("undetermined")||(this._data.checkbox.uto&&clearTimeout(this._data.checkbox.uto),this._data.checkbox.uto=setTimeout(e.proxy(this._undetermined,this),50)),t},this.show_checkboxes=function(){this._data.core.themes.checkboxes=!0,this.get_container_ul().removeClass("jstree-no-checkboxes")},this.hide_checkboxes=function(){this._data.core.themes.checkboxes=!1,this.get_container_ul().addClass("jstree-no-checkboxes")},this.toggle_checkboxes=function(){this._data.core.themes.checkboxes?this.hide_checkboxes():this.show_checkboxes()},this.is_undetermined=function(t){t=this.get_node(t)
-var n,r,i=this.settings.checkbox.cascade,o=this.settings.checkbox.tie_selection,s=this._data[o?"core":"checkbox"].selected,a=this._model.data
-if(!t||!0===t.state[o?"selected":"checked"]||-1===i.indexOf("undetermined")||-1===i.indexOf("down")&&-1===i.indexOf("up"))return!1
-if(!t.state.loaded&&!0===t.original.state.undetermined)return!0
-for(n=0,r=t.children_d.length;r>n;n++)if(-1!==e.inArray(t.children_d[n],s)||!a[t.children_d[n]].state.loaded&&a[t.children_d[n]].original.state.undetermined)return!0
-return!1},this.disable_checkbox=function(t){var n,r,i
-if(e.isArray(t)){for(t=t.slice(),n=0,r=t.length;r>n;n++)this.disable_checkbox(t[n])
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(i=this.get_node(t,!0),void(t.state.checkbox_disabled||(t.state.checkbox_disabled=!0,i&&i.length&&i.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-checkbox-disabled"),this.trigger("disable_checkbox",{node:t}))))},this.enable_checkbox=function(t){var n,r,i
-if(e.isArray(t)){for(t=t.slice(),n=0,r=t.length;r>n;n++)this.enable_checkbox(t[n])
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(i=this.get_node(t,!0),void(t.state.checkbox_disabled&&(t.state.checkbox_disabled=!1,i&&i.length&&i.children(".jstree-anchor").children(".jstree-checkbox").removeClass("jstree-checkbox-disabled"),this.trigger("enable_checkbox",{node:t}))))},this.activate_node=function(t,n){return!e(n.target).hasClass("jstree-checkbox-disabled")&&(this.settings.checkbox.tie_selection&&(this.settings.checkbox.whole_node||e(n.target).hasClass("jstree-checkbox"))&&(n.ctrlKey=!0),this.settings.checkbox.tie_selection||!this.settings.checkbox.whole_node&&!e(n.target).hasClass("jstree-checkbox")?r.activate_node.call(this,t,n):!this.is_disabled(t)&&(this.is_checked(t)?this.uncheck_node(t,n):this.check_node(t,n),void this.trigger("activate_node",{node:this.get_node(t)})))},this._cascade_new_checked_state=function(e,t){var n,r,i,o=this,s=this.settings.checkbox.tie_selection,a=this._model.data[e],u=[],c=[]
-if(!this.settings.checkbox.cascade_to_disabled&&a.state.disabled||!this.settings.checkbox.cascade_to_hidden&&a.state.hidden)i=this.get_checked_descendants(e),a.state[s?"selected":"checked"]&&i.push(a.id),u=u.concat(i)
-else{if(a.children)for(n=0,r=a.children.length;r>n;n++){var l=a.children[n]
-i=o._cascade_new_checked_state(l,t),u=u.concat(i),i.indexOf(l)>-1&&c.push(l)}var h=o.get_node(a,!0),d=c.length>0&&c.length<a.children.length
-a.original&&a.original.state&&a.original.state.undetermined&&(a.original.state.undetermined=d),d?(a.state[s?"selected":"checked"]=!1,h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(s?"jstree-clicked":"jstree-checked")):t&&c.length===a.children.length?(a.state[s?"selected":"checked"]=t,u.push(a.id),h.attr("aria-selected",!0).children(".jstree-anchor").addClass(s?"jstree-clicked":"jstree-checked")):(a.state[s?"selected":"checked"]=!1,h.attr("aria-selected",!1).children(".jstree-anchor").removeClass(s?"jstree-clicked":"jstree-checked"))}return u},this.get_checked_descendants=function(t){var n=this,r=n.settings.checkbox.tie_selection,i=n._model.data[t]
-return e.vakata.array_filter(i.children_d,function(e){return n._model.data[e].state[r?"selected":"checked"]})},this.check_node=function(t,n){if(this.settings.checkbox.tie_selection)return this.select_node(t,!1,!0,n)
-var r,i,o
-if(e.isArray(t)){for(t=t.slice(),i=0,o=t.length;o>i;i++)this.check_node(t[i],n)
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(r=this.get_node(t,!0),void(t.state.checked||(t.state.checked=!0,this._data.checkbox.selected.push(t.id),r&&r.length&&r.children(".jstree-anchor").addClass("jstree-checked"),this.trigger("check_node",{node:t,selected:this._data.checkbox.selected,event:n}))))},this.uncheck_node=function(t,n){if(this.settings.checkbox.tie_selection)return this.deselect_node(t,!1,n)
-var r,i,o
-if(e.isArray(t)){for(t=t.slice(),r=0,i=t.length;i>r;r++)this.uncheck_node(t[r],n)
-return!0}return!(!(t=this.get_node(t))||t.id===e.jstree.root)&&(o=this.get_node(t,!0),void(t.state.checked&&(t.state.checked=!1,this._data.checkbox.selected=e.vakata.array_remove_item(this._data.checkbox.selected,t.id),o.length&&o.children(".jstree-anchor").removeClass("jstree-checked"),this.trigger("uncheck_node",{node:t,selected:this._data.checkbox.selected,event:n}))))},this.check_all=function(){if(this.settings.checkbox.tie_selection)return this.select_all()
-var t,n
-this._data.checkbox.selected.concat([])
-for(this._data.checkbox.selected=this._model.data[e.jstree.root].children_d.concat(),t=0,n=this._data.checkbox.selected.length;n>t;t++)this._model.data[this._data.checkbox.selected[t]]&&(this._model.data[this._data.checkbox.selected[t]].state.checked=!0)
-this.redraw(!0),this.trigger("check_all",{selected:this._data.checkbox.selected})},this.uncheck_all=function(){if(this.settings.checkbox.tie_selection)return this.deselect_all()
-var e,t,n=this._data.checkbox.selected.concat([])
-for(e=0,t=this._data.checkbox.selected.length;t>e;e++)this._model.data[this._data.checkbox.selected[e]]&&(this._model.data[this._data.checkbox.selected[e]].state.checked=!1)
-this._data.checkbox.selected=[],this.element.find(".jstree-checked").removeClass("jstree-checked"),this.trigger("uncheck_all",{selected:this._data.checkbox.selected,node:n})},this.is_checked=function(t){return this.settings.checkbox.tie_selection?this.is_selected(t):!(!(t=this.get_node(t))||t.id===e.jstree.root)&&t.state.checked},this.get_checked=function(t){return this.settings.checkbox.tie_selection?this.get_selected(t):t?e.map(this._data.checkbox.selected,e.proxy(function(e){return this.get_node(e)},this)):this._data.checkbox.selected.slice()},this.get_top_checked=function(t){if(this.settings.checkbox.tie_selection)return this.get_top_selected(t)
-var n,r,i,o,s=this.get_checked(!0),a={}
-for(n=0,r=s.length;r>n;n++)a[s[n].id]=s[n]
-for(n=0,r=s.length;r>n;n++)for(i=0,o=s[n].children_d.length;o>i;i++)a[s[n].children_d[i]]&&delete a[s[n].children_d[i]]
-s=[]
-for(n in a)a.hasOwnProperty(n)&&s.push(n)
-return t?e.map(s,e.proxy(function(e){return this.get_node(e)},this)):s},this.get_bottom_checked=function(t){if(this.settings.checkbox.tie_selection)return this.get_bottom_selected(t)
-var n,r,i=this.get_checked(!0),o=[]
-for(n=0,r=i.length;r>n;n++)i[n].children.length||o.push(i[n].id)
-return t?e.map(o,e.proxy(function(e){return this.get_node(e)},this)):o},this.load_node=function(t,n){var i,o,s
-if(!e.isArray(t)&&!this.settings.checkbox.tie_selection&&(s=this.get_node(t))&&s.state.loaded)for(i=0,o=s.children_d.length;o>i;i++)this._model.data[s.children_d[i]].state.checked&&(!0,this._data.checkbox.selected=e.vakata.array_remove_item(this._data.checkbox.selected,s.children_d[i]))
-return r.load_node.apply(this,arguments)},this.get_state=function(){var e=r.get_state.apply(this,arguments)
-return this.settings.checkbox.tie_selection?e:(e.checkbox=this._data.checkbox.selected.slice(),e)},this.set_state=function(t,n){var i=r.set_state.apply(this,arguments)
-if(i&&t.checkbox){if(!this.settings.checkbox.tie_selection){this.uncheck_all()
-var o=this
-e.each(t.checkbox,function(e,t){o.check_node(t)})}return delete t.checkbox,this.set_state(t,n),!1}return i},this.refresh=function(e,t){return this.settings.checkbox.tie_selection&&(this._data.checkbox.selected=[]),r.refresh.apply(this,arguments)}},e.jstree.defaults.conditionalselect=function(){return!0},e.jstree.plugins.conditionalselect=function(e,t){this.activate_node=function(e,n){return this.settings.conditionalselect.call(this,this.get_node(e),n)?t.activate_node.call(this,e,n):void 0}},e.jstree.defaults.contextmenu={select_node:!0,show_at_node:!0,items:function(t,n){return{create:{separator_before:!1,separator_after:!0,_disabled:!1,label:"Create",action:function(t){var n=e.jstree.reference(t.reference),r=n.get_node(t.reference)
-n.create_node(r,{},"last",function(e){try{n.edit(e)}catch(t){setTimeout(function(){n.edit(e)},0)}})}},rename:{separator_before:!1,separator_after:!1,_disabled:!1,label:"Rename",action:function(t){var n=e.jstree.reference(t.reference),r=n.get_node(t.reference)
-n.edit(r)}},remove:{separator_before:!1,icon:!1,separator_after:!1,_disabled:!1,label:"Delete",action:function(t){var n=e.jstree.reference(t.reference),r=n.get_node(t.reference)
-n.is_selected(r)?n.delete_node(n.get_selected()):n.delete_node(r)}},ccp:{separator_before:!0,icon:!1,separator_after:!1,label:"Edit",action:!1,submenu:{cut:{separator_before:!1,separator_after:!1,label:"Cut",action:function(t){var n=e.jstree.reference(t.reference),r=n.get_node(t.reference)
-n.is_selected(r)?n.cut(n.get_top_selected()):n.cut(r)}},copy:{separator_before:!1,icon:!1,separator_after:!1,label:"Copy",action:function(t){var n=e.jstree.reference(t.reference),r=n.get_node(t.reference)
-n.is_selected(r)?n.copy(n.get_top_selected()):n.copy(r)}},paste:{separator_before:!1,icon:!1,_disabled:function(t){return!e.jstree.reference(t.reference).can_paste()},separator_after:!1,label:"Paste",action:function(t){var n=e.jstree.reference(t.reference),r=n.get_node(t.reference)
-n.paste(r)}}}}}}},e.jstree.plugins.contextmenu=function(n,r){this.bind=function(){r.bind.call(this)
-var t,n,i=0,o=null
-this.element.on("init.jstree loading.jstree ready.jstree",e.proxy(function(){this.get_container_ul().addClass("jstree-contextmenu")},this)).on("contextmenu.jstree",".jstree-anchor",e.proxy(function(e,t){"input"!==e.target.tagName.toLowerCase()&&(e.preventDefault(),i=e.ctrlKey?+new Date:0,(t||o)&&(i=+new Date+1e4),o&&clearTimeout(o),this.is_loading(e.currentTarget)||this.show_contextmenu(e.currentTarget,e.pageX,e.pageY,e))},this)).on("click.jstree",".jstree-anchor",e.proxy(function(t){this._data.contextmenu.visible&&(!i||+new Date-i>250)&&e.vakata.context.hide(),i=0},this)).on("touchstart.jstree",".jstree-anchor",function(r){r.originalEvent&&r.originalEvent.changedTouches&&r.originalEvent.changedTouches[0]&&(t=r.originalEvent.changedTouches[0].clientX,n=r.originalEvent.changedTouches[0].clientY,o=setTimeout(function(){e(r.currentTarget).trigger("contextmenu",!0)},750))}).on("touchmove.vakata.jstree",function(r){o&&r.originalEvent&&r.originalEvent.changedTouches&&r.originalEvent.changedTouches[0]&&(Math.abs(t-r.originalEvent.changedTouches[0].clientX)>10||Math.abs(n-r.originalEvent.changedTouches[0].clientY)>10)&&(clearTimeout(o),e.vakata.context.hide())}).on("touchend.vakata.jstree",function(e){o&&clearTimeout(o)}),e(u).on("context_hide.vakata.jstree",e.proxy(function(t,n){this._data.contextmenu.visible=!1,e(n.reference).removeClass("jstree-context")},this))},this.teardown=function(){this._data.contextmenu.visible&&e.vakata.context.hide(),r.teardown.call(this)},this.show_contextmenu=function(n,r,i,o){if(!(n=this.get_node(n))||n.id===e.jstree.root)return!1
-var s=this.settings.contextmenu,a=this.get_node(n,!0),u=a.children(".jstree-anchor"),c=!1,l=!1;(s.show_at_node||r===t||i===t)&&(c=u.offset(),r=c.left,i=c.top+this._data.core.li_height),this.settings.contextmenu.select_node&&!this.is_selected(n)&&this.activate_node(n,o),l=s.items,e.isFunction(l)&&(l=l.call(this,n,e.proxy(function(e){this._show_contextmenu(n,r,i,e)},this))),e.isPlainObject(l)&&this._show_contextmenu(n,r,i,l)},this._show_contextmenu=function(t,n,r,i){var o=this.get_node(t,!0),s=o.children(".jstree-anchor")
-e(u).one("context_show.vakata.jstree",e.proxy(function(t,n){var r="jstree-contextmenu jstree-"+this.get_theme()+"-contextmenu"
-e(n.element).addClass(r),s.addClass("jstree-context")},this)),this._data.contextmenu.visible=!0,e.vakata.context.show(s,{x:n,y:r},i),this.trigger("show_contextmenu",{node:t,x:n,y:r})}},function(e){var t=!1,n={element:!1,reference:!1,position_x:0,position_y:0,items:[],html:"",is_visible:!1}
-e.vakata.context={settings:{hide_onmouseleave:0,icons:!0},_trigger:function(t){e(u).triggerHandler("context_"+t+".vakata",{reference:n.reference,element:n.element,position:{x:n.position_x,y:n.position_y}})},_execute:function(t){return!(!(t=n.items[t])||t._disabled&&(!e.isFunction(t._disabled)||t._disabled({item:t,reference:n.reference,element:n.element}))||!t.action)&&t.action.call(null,{item:t,reference:n.reference,element:n.element,position:{x:n.position_x,y:n.position_y}})},_parse:function(t,r){if(!t)return!1
-r||(n.html="",n.items=[])
-var i,o="",s=!1
-return r&&(o+="<ul>"),e.each(t,function(t,r){return!r||(n.items.push(r),!s&&r.separator_before&&(o+="<li class='vakata-context-separator'><a href='#' "+(e.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;</a></li>"),s=!1,o+="<li class='"+(r._class||"")+(!0===r._disabled||e.isFunction(r._disabled)&&r._disabled({item:r,reference:n.reference,element:n.element})?" vakata-contextmenu-disabled ":"")+"' "+(r.shortcut?" data-shortcut='"+r.shortcut+"' ":"")+">",o+="<a href='#' rel='"+(n.items.length-1)+"' "+(r.title?"title='"+r.title+"'":"")+">",e.vakata.context.settings.icons&&(o+="<i ",r.icon&&(o+=-1!==r.icon.indexOf("/")||-1!==r.icon.indexOf(".")?" style='background:url(\""+r.icon+"\") center center no-repeat' ":" class='"+r.icon+"' "),o+="></i><span class='vakata-contextmenu-sep'>&#160;</span>"),o+=(e.isFunction(r.label)?r.label({item:t,reference:n.reference,element:n.element}):r.label)+(r.shortcut?' <span class="vakata-contextmenu-shortcut vakata-contextmenu-shortcut-'+r.shortcut+'">'+(r.shortcut_label||"")+"</span>":"")+"</a>",r.submenu&&(i=e.vakata.context._parse(r.submenu,!0))&&(o+=i),o+="</li>",void(r.separator_after&&(o+="<li class='vakata-context-separator'><a href='#' "+(e.vakata.context.settings.icons?"":'style="margin-left:0px;"')+">&#160;</a></li>",s=!0)))}),o=o.replace(/<li class\='vakata-context-separator'\><\/li\>$/,""),r&&(o+="</ul>"),r||(n.html=o,e.vakata.context._trigger("parse")),o.length>10&&o},_show_submenu:function(n){if(n=e(n),n.length&&n.children("ul").length){var r=n.children("ul"),i=n.offset().left,o=i+n.outerWidth(),s=n.offset().top,a=r.width(),u=r.height(),c=e(window).width()+e(window).scrollLeft(),l=e(window).height()+e(window).scrollTop()
-t?n[o-(a+10+n.outerWidth())<0?"addClass":"removeClass"]("vakata-context-left"):n[o+a>c&&i>c-o?"addClass":"removeClass"]("vakata-context-right"),s+u+10>l&&r.css("bottom","-1px"),n.hasClass("vakata-context-right")?a>i&&r.css("margin-right",i-a):a>c-o&&r.css("margin-left",c-o-a),r.show()}},show:function(r,i,o){var s,a,c,l,h,d,p,f
-switch(n.element&&n.element.length&&n.element.width(""),!0){case!i&&!r:return!1
-case!!i&&!!r:n.reference=r,n.position_x=i.x,n.position_y=i.y
-break
-case!i&&!!r:n.reference=r,s=r.offset(),n.position_x=s.left+r.outerHeight(),n.position_y=s.top
-break
-case!!i&&!r:n.position_x=i.x,n.position_y=i.y}r&&!o&&e(r).data("vakata_contextmenu")&&(o=e(r).data("vakata_contextmenu")),e.vakata.context._parse(o)&&n.element.html(n.html),n.items.length&&(n.element.appendTo(u.body),a=n.element,c=n.position_x,l=n.position_y,h=a.width(),d=a.height(),p=e(window).width()+e(window).scrollLeft(),f=e(window).height()+e(window).scrollTop(),t&&(c-=a.outerWidth()-e(r).outerWidth())<e(window).scrollLeft()+20&&(c=e(window).scrollLeft()+20),c+h+20>p&&(c=p-(h+20)),l+d+20>f&&(l=f-(d+20)),n.element.css({left:c,top:l}).show().find("a").first().focus().parent().addClass("vakata-context-hover"),n.is_visible=!0,e.vakata.context._trigger("show"))},hide:function(){n.is_visible&&(n.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(),n.is_visible=!1,e.vakata.context._trigger("hide"))}},e(function(){t="rtl"===e(u.body).css("direction")
-var r=!1
-n.element=e("<ul class='vakata-context'></ul>"),n.element.on("mouseenter","li",function(t){t.stopImmediatePropagation(),e.contains(this,t.relatedTarget)||(r&&clearTimeout(r),n.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(),e(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context","li").addBack().addClass("vakata-context-hover"),e.vakata.context._show_submenu(this))}).on("mouseleave","li",function(t){e.contains(this,t.relatedTarget)||e(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")}).on("mouseleave",function(t){e(this).find(".vakata-context-hover").removeClass("vakata-context-hover"),e.vakata.context.settings.hide_onmouseleave&&(r=setTimeout(function(t){return function(){e.vakata.context.hide()}}(),e.vakata.context.settings.hide_onmouseleave))}).on("click","a",function(t){t.preventDefault(),e(this).blur().parent().hasClass("vakata-context-disabled")||!1===e.vakata.context._execute(e(this).attr("rel"))||e.vakata.context.hide()}).on("keydown","a",function(t){var r=null
-switch(t.which){case 13:case 32:t.type="click",t.preventDefault(),e(t.currentTarget).trigger(t)
-break
-case 37:n.is_visible&&(n.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(),t.stopImmediatePropagation(),t.preventDefault())
-break
-case 38:n.is_visible&&(r=n.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(),r.length||(r=n.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()),r.addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault())
-break
-case 39:n.is_visible&&(n.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault())
-break
-case 40:n.is_visible&&(r=n.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(),r.length||(r=n.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()),r.addClass("vakata-context-hover").children("a").focus(),t.stopImmediatePropagation(),t.preventDefault())
-break
-case 27:e.vakata.context.hide(),t.preventDefault()}}).on("keydown",function(e){e.preventDefault()
-var t=n.element.find(".vakata-contextmenu-shortcut-"+e.which).parent()
-t.parent().not(".vakata-context-disabled")&&t.click()}),e(u).on("mousedown.vakata.jstree",function(t){n.is_visible&&n.element[0]!==t.target&&!e.contains(n.element[0],t.target)&&e.vakata.context.hide()}).on("context_show.vakata.jstree",function(e,r){n.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"),t&&n.element.addClass("vakata-context-rtl").css("direction","rtl"),n.element.find("ul").hide().end()})})}(e),e.jstree.defaults.dnd={copy:!0,open_timeout:500,is_draggable:!0,check_while_dragging:!0,always_copy:!1,inside_pos:0,drag_selection:!0,touch:!0,large_drop_target:!1,large_drag_target:!1,use_html5:!1}
-var d,p
-e.jstree.plugins.dnd=function(t,n){this.init=function(e,t){n.init.call(this,e,t),this.settings.dnd.use_html5=this.settings.dnd.use_html5&&"draggable"in u.createElement("span")},this.bind=function(){n.bind.call(this),this.element.on(this.settings.dnd.use_html5?"dragstart.jstree":"mousedown.jstree touchstart.jstree",this.settings.dnd.large_drag_target?".jstree-node":".jstree-anchor",e.proxy(function(t){if(this.settings.dnd.large_drag_target&&e(t.target).closest(".jstree-node")[0]!==t.currentTarget)return!0
-if("touchstart"===t.type&&(!this.settings.dnd.touch||"selected"===this.settings.dnd.touch&&!e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked")))return!0
-var n=this.get_node(t.target),r=this.is_selected(n)&&this.settings.dnd.drag_selection?this.get_top_selected().length:1,i=r>1?r+" "+this.get_string("nodes"):this.get_text(t.currentTarget)
-if(this.settings.core.force_text&&(i=e.vakata.html.escape(i)),n&&n.id&&n.id!==e.jstree.root&&(1===t.which||"touchstart"===t.type||"dragstart"===t.type)&&(!0===this.settings.dnd.is_draggable||e.isFunction(this.settings.dnd.is_draggable)&&this.settings.dnd.is_draggable.call(this,r>1?this.get_top_selected(!0):[n],t))){if(d={jstree:!0,origin:this,obj:this.get_node(n,!0),nodes:r>1?this.get_top_selected():[n.id]},p=t.currentTarget,!this.settings.dnd.use_html5)return this.element.trigger("mousedown.jstree"),e.vakata.dnd.start(t,d,'<div id="jstree-dnd" class="jstree-'+this.get_theme()+" jstree-"+this.get_theme()+"-"+this.get_theme_variant()+" "+(this.settings.core.themes.responsive?" jstree-dnd-responsive":"")+'"><i class="jstree-icon jstree-er"></i>'+i+'<ins class="jstree-copy" style="display:none;">+</ins></div>')
-e.vakata.dnd._trigger("start",t,{helper:e(),element:p,data:d})}},this)),this.settings.dnd.use_html5&&this.element.on("dragover.jstree",function(t){return t.preventDefault(),e.vakata.dnd._trigger("move",t,{helper:e(),element:p,data:d}),!1}).on("drop.jstree",e.proxy(function(t){return t.preventDefault(),e.vakata.dnd._trigger("stop",t,{helper:e(),element:p,data:d}),!1},this))},this.redraw_node=function(e,t,r,i){if((e=n.redraw_node.apply(this,arguments))&&this.settings.dnd.use_html5)if(this.settings.dnd.large_drag_target)e.setAttribute("draggable",!0)
-else{var o,s,a=null
-for(o=0,s=e.childNodes.length;s>o;o++)if(e.childNodes[o]&&e.childNodes[o].className&&-1!==e.childNodes[o].className.indexOf("jstree-anchor")){a=e.childNodes[o]
-break}a&&a.setAttribute("draggable",!0)}return e}},e(function(){var n=!1,r=!1,i=!1,o=!1,s=e('<div id="jstree-marker">&#160;</div>').hide()
-e(u).on("dragover.vakata.jstree",function(t){p&&e.vakata.dnd._trigger("move",t,{helper:e(),element:p,data:d})}).on("drop.vakata.jstree",function(t){p&&(e.vakata.dnd._trigger("stop",t,{helper:e(),element:p,data:d}),p=null,d=null)}).on("dnd_start.vakata.jstree",function(e,t){n=!1,i=!1,t&&t.data&&t.data.jstree&&s.appendTo(u.body)}).on("dnd_move.vakata.jstree",function(a,u){var c=u.event.target!==i.target
-if(o&&(!u.event||"dragover"!==u.event.type||c)&&clearTimeout(o),u&&u.data&&u.data.jstree&&(!u.event.target.id||"jstree-marker"!==u.event.target.id)){i=u.event
-var l,h,d,p,f,g,m,v,y,b,C,A,_,I,w,x,k,j=e.jstree.reference(u.event.target),E=!1,S=!1,T=!1
-if(j&&j._data&&j._data.dnd)if(s.attr("class","jstree-"+j.get_theme()+(j.settings.core.themes.responsive?" jstree-dnd-responsive":"")),w=u.data.origin&&(u.data.origin.settings.dnd.always_copy||u.data.origin.settings.dnd.copy&&(u.event.metaKey||u.event.ctrlKey)),u.helper.children().attr("class","jstree-"+j.get_theme()+" jstree-"+j.get_theme()+"-"+j.get_theme_variant()+" "+(j.settings.core.themes.responsive?" jstree-dnd-responsive":"")).find(".jstree-copy").first()[w?"show":"hide"](),u.event.target!==j.element[0]&&u.event.target!==j.get_container_ul()[0]||0!==j.get_container_ul().children().length){if((E=j.settings.dnd.large_drop_target?e(u.event.target).closest(".jstree-node").children(".jstree-anchor"):e(u.event.target).closest(".jstree-anchor"))&&E.length&&E.parent().is(".jstree-closed, .jstree-open, .jstree-leaf")&&(S=E.offset(),T=(u.event.pageY!==t?u.event.pageY:u.event.originalEvent.pageY)-S.top,d=E.outerHeight(),g=d/3>T?["b","i","a"]:T>d-d/3?["a","i","b"]:T>d/2?["i","a","b"]:["i","b","a"],e.each(g,function(t,i){switch(i){case"b":l=S.left-6,h=S.top,p=j.get_parent(E),f=E.parent().index(),k="jstree-below"
-break
-case"i":_=j.settings.dnd.inside_pos,I=j.get_node(E.parent()),l=S.left-2,h=S.top+d/2+1,p=I.id,f="first"===_?0:"last"===_?I.children.length:Math.min(_,I.children.length),k="jstree-inside"
-break
-case"a":l=S.left-6,h=S.top+d,p=j.get_parent(E),f=E.parent().index()+1,k="jstree-above"}for(m=!0,v=0,y=u.data.nodes.length;y>v;v++)if(b=u.data.origin&&(u.data.origin.settings.dnd.always_copy||u.data.origin.settings.dnd.copy&&(u.event.metaKey||u.event.ctrlKey))?"copy_node":"move_node",C=f,"move_node"===b&&"a"===i&&u.data.origin&&u.data.origin===j&&p===j.get_parent(u.data.nodes[v])&&(A=j.get_node(p),C>e.inArray(u.data.nodes[v],A.children)&&(C-=1)),!(m=m&&(j&&j.settings&&j.settings.dnd&&!1===j.settings.dnd.check_while_dragging||j.check(b,u.data.origin&&u.data.origin!==j?u.data.origin.get_node(u.data.nodes[v]):u.data.nodes[v],p,C,{dnd:!0,ref:j.get_node(E.parent()),pos:i,origin:u.data.origin,is_multi:u.data.origin&&u.data.origin!==j,is_foreign:!u.data.origin})))){j&&j.last_error&&(r=j.last_error())
-break}return"i"===i&&E.parent().is(".jstree-closed")&&j.settings.dnd.open_timeout&&(!u.event||"dragover"!==u.event.type||c)&&(o&&clearTimeout(o),o=setTimeout(function(e,t){return function(){e.open_node(t)}}(j,E),j.settings.dnd.open_timeout)),m?(x=j.get_node(p,!0),x.hasClass(".jstree-dnd-parent")||(e(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),x.addClass("jstree-dnd-parent")),n={ins:j,par:p,pos:"i"!==i||"last"!==_||0!==f||j.is_loaded(I)?f:"last"},s.css({left:l+"px",top:h+"px"}).show(),s.removeClass("jstree-above jstree-inside jstree-below").addClass(k),u.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),u.event.originalEvent&&u.event.originalEvent.dataTransfer&&(u.event.originalEvent.dataTransfer.dropEffect=w?"copy":"move"),r={},g=!0,!1):void 0}),!0===g))return}else{for(m=!0,v=0,y=u.data.nodes.length;y>v&&(m=m&&j.check(u.data.origin&&(u.data.origin.settings.dnd.always_copy||u.data.origin.settings.dnd.copy&&(u.event.metaKey||u.event.ctrlKey))?"copy_node":"move_node",u.data.origin&&u.data.origin!==j?u.data.origin.get_node(u.data.nodes[v]):u.data.nodes[v],e.jstree.root,"last",{dnd:!0,ref:j.get_node(e.jstree.root),pos:"i",origin:u.data.origin,is_multi:u.data.origin&&u.data.origin!==j,is_foreign:!u.data.origin}));v++);if(m)return n={ins:j,par:e.jstree.root,pos:"last"},s.hide(),u.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"),void(u.event.originalEvent&&u.event.originalEvent.dataTransfer&&(u.event.originalEvent.dataTransfer.dropEffect=w?"copy":"move"))}e(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),n=!1,u.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"),u.event.originalEvent&&u.event.originalEvent.dataTransfer,s.hide()}}).on("dnd_scroll.vakata.jstree",function(e,t){t&&t.data&&t.data.jstree&&(s.hide(),n=!1,i=!1,t.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))}).on("dnd_stop.vakata.jstree",function(t,a){if(e(".jstree-dnd-parent").removeClass("jstree-dnd-parent"),o&&clearTimeout(o),a&&a.data&&a.data.jstree){s.hide().detach()
-var u,c,l=[]
-if(n){for(u=0,c=a.data.nodes.length;c>u;u++)l[u]=a.data.origin?a.data.origin.get_node(a.data.nodes[u]):a.data.nodes[u]
-n.ins[a.data.origin&&(a.data.origin.settings.dnd.always_copy||a.data.origin.settings.dnd.copy&&(a.event.metaKey||a.event.ctrlKey))?"copy_node":"move_node"](l,n.par,n.pos,!1,!1,!1,a.data.origin)}else u=e(a.event.target).closest(".jstree"),u.length&&r&&r.error&&"check"===r.error&&(u=u.jstree(!0))&&u.settings.core.error.call(this,r)
-i=!1,n=!1}}).on("keyup.jstree keydown.jstree",function(t,a){(a=e.vakata.dnd._get())&&a.data&&a.data.jstree&&("keyup"===t.type&&27===t.which?(o&&clearTimeout(o),n=!1,r=!1,i=!1,o=!1,s.hide().detach(),e.vakata.dnd._clean()):(a.helper.find(".jstree-copy").first()[a.data.origin&&(a.data.origin.settings.dnd.always_copy||a.data.origin.settings.dnd.copy&&(t.metaKey||t.ctrlKey))?"show":"hide"](),i&&(i.metaKey=t.metaKey,i.ctrlKey=t.ctrlKey,e.vakata.dnd._trigger("move",i))))})}),function(e){e.vakata.html={div:e("<div />"),escape:function(t){return e.vakata.html.div.text(t).html()},strip:function(t){return e.vakata.html.div.empty().append(e.parseHTML(t)).text()}}
-var n={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1}
-e.vakata.dnd={settings:{scroll_speed:10,scroll_proximity:20,helper_left:5,helper_top:10,threshold:5,threshold_touch:10},_trigger:function(n,r,i){i===t&&(i=e.vakata.dnd._get()),i.event=r,e(u).triggerHandler("dnd_"+n+".vakata",i)},_get:function(){return{data:n.data,element:n.element,helper:n.helper}},_clean:function(){n.helper&&n.helper.remove(),n.scroll_i&&(clearInterval(n.scroll_i),n.scroll_i=!1),n={element:!1,target:!1,is_down:!1,is_drag:!1,helper:!1,helper_w:0,data:!1,init_x:0,init_y:0,scroll_l:0,scroll_t:0,scroll_e:!1,scroll_i:!1,is_touch:!1},p=null,e(u).off("mousemove.vakata.jstree touchmove.vakata.jstree",e.vakata.dnd.drag),e(u).off("mouseup.vakata.jstree touchend.vakata.jstree",e.vakata.dnd.stop)},_scroll:function(t){if(!n.scroll_e||!n.scroll_l&&!n.scroll_t)return n.scroll_i&&(clearInterval(n.scroll_i),n.scroll_i=!1),!1
-if(!n.scroll_i)return n.scroll_i=setInterval(e.vakata.dnd._scroll,100),!1
-if(!0===t)return!1
-var r=n.scroll_e.scrollTop(),i=n.scroll_e.scrollLeft()
-n.scroll_e.scrollTop(r+n.scroll_t*e.vakata.dnd.settings.scroll_speed),n.scroll_e.scrollLeft(i+n.scroll_l*e.vakata.dnd.settings.scroll_speed),(r!==n.scroll_e.scrollTop()||i!==n.scroll_e.scrollLeft())&&e.vakata.dnd._trigger("scroll",n.scroll_e)},start:function(t,r,i){"touchstart"===t.type&&t.originalEvent&&t.originalEvent.changedTouches&&t.originalEvent.changedTouches[0]&&(t.pageX=t.originalEvent.changedTouches[0].pageX,t.pageY=t.originalEvent.changedTouches[0].pageY,t.target=u.elementFromPoint(t.originalEvent.changedTouches[0].pageX-window.pageXOffset,t.originalEvent.changedTouches[0].pageY-window.pageYOffset)),n.is_drag&&e.vakata.dnd.stop({})
-try{t.currentTarget.unselectable="on",t.currentTarget.onselectstart=function(){return!1},t.currentTarget.style&&(t.currentTarget.style.touchAction="none",t.currentTarget.style.msTouchAction="none",t.currentTarget.style.MozUserSelect="none")}catch(e){}return n.init_x=t.pageX,n.init_y=t.pageY,n.data=r,n.is_down=!0,n.element=t.currentTarget,n.target=t.target,n.is_touch="touchstart"===t.type,!1!==i&&(n.helper=e("<div id='vakata-dnd'></div>").html(i).css({display:"block",margin:"0",padding:"0",position:"absolute",top:"-2000px",lineHeight:"16px",zIndex:"10000"})),e(u).on("mousemove.vakata.jstree touchmove.vakata.jstree",e.vakata.dnd.drag),e(u).on("mouseup.vakata.jstree touchend.vakata.jstree",e.vakata.dnd.stop),!1},drag:function(t){if("touchmove"===t.type&&t.originalEvent&&t.originalEvent.changedTouches&&t.originalEvent.changedTouches[0]&&(t.pageX=t.originalEvent.changedTouches[0].pageX,t.pageY=t.originalEvent.changedTouches[0].pageY,t.target=u.elementFromPoint(t.originalEvent.changedTouches[0].pageX-window.pageXOffset,t.originalEvent.changedTouches[0].pageY-window.pageYOffset)),n.is_down){if(!n.is_drag){if(!(Math.abs(t.pageX-n.init_x)>(n.is_touch?e.vakata.dnd.settings.threshold_touch:e.vakata.dnd.settings.threshold)||Math.abs(t.pageY-n.init_y)>(n.is_touch?e.vakata.dnd.settings.threshold_touch:e.vakata.dnd.settings.threshold)))return
-n.helper&&(n.helper.appendTo(u.body),n.helper_w=n.helper.outerWidth()),n.is_drag=!0,e(n.target).one("click.vakata",!1),e.vakata.dnd._trigger("start",t)}var r=!1,i=!1,o=!1,s=!1,a=!1,c=!1,l=!1,h=!1,d=!1,p=!1
-return n.scroll_t=0,n.scroll_l=0,n.scroll_e=!1,e(e(t.target).parentsUntil("body").addBack().get().reverse()).filter(function(){return/^auto|scroll$/.test(e(this).css("overflow"))&&(this.scrollHeight>this.offsetHeight||this.scrollWidth>this.offsetWidth)}).each(function(){var r=e(this),i=r.offset()
-return this.scrollHeight>this.offsetHeight&&(i.top+r.height()-t.pageY<e.vakata.dnd.settings.scroll_proximity&&(n.scroll_t=1),t.pageY-i.top<e.vakata.dnd.settings.scroll_proximity&&(n.scroll_t=-1)),this.scrollWidth>this.offsetWidth&&(i.left+r.width()-t.pageX<e.vakata.dnd.settings.scroll_proximity&&(n.scroll_l=1),t.pageX-i.left<e.vakata.dnd.settings.scroll_proximity&&(n.scroll_l=-1)),n.scroll_t||n.scroll_l?(n.scroll_e=e(this),!1):void 0}),n.scroll_e||(r=e(u),i=e(window),o=r.height(),s=i.height(),a=r.width(),c=i.width(),l=r.scrollTop(),h=r.scrollLeft(),o>s&&t.pageY-l<e.vakata.dnd.settings.scroll_proximity&&(n.scroll_t=-1),o>s&&s-(t.pageY-l)<e.vakata.dnd.settings.scroll_proximity&&(n.scroll_t=1),a>c&&t.pageX-h<e.vakata.dnd.settings.scroll_proximity&&(n.scroll_l=-1),a>c&&c-(t.pageX-h)<e.vakata.dnd.settings.scroll_proximity&&(n.scroll_l=1),(n.scroll_t||n.scroll_l)&&(n.scroll_e=r)),n.scroll_e&&e.vakata.dnd._scroll(!0),n.helper&&(d=parseInt(t.pageY+e.vakata.dnd.settings.helper_top,10),p=parseInt(t.pageX+e.vakata.dnd.settings.helper_left,10),o&&d+25>o&&(d=o-50),a&&p+n.helper_w>a&&(p=a-(n.helper_w+2)),n.helper.css({left:p+"px",top:d+"px"})),e.vakata.dnd._trigger("move",t),!1}},stop:function(t){if("touchend"===t.type&&t.originalEvent&&t.originalEvent.changedTouches&&t.originalEvent.changedTouches[0]&&(t.pageX=t.originalEvent.changedTouches[0].pageX,t.pageY=t.originalEvent.changedTouches[0].pageY,t.target=u.elementFromPoint(t.originalEvent.changedTouches[0].pageX-window.pageXOffset,t.originalEvent.changedTouches[0].pageY-window.pageYOffset)),n.is_drag)t.target!==n.target&&e(n.target).off("click.vakata"),e.vakata.dnd._trigger("stop",t)
-else if("touchend"===t.type&&t.target===n.target){var r=setTimeout(function(){e(t.target).click()},100)
-e(t.target).one("click",function(){r&&clearTimeout(r)})}return e.vakata.dnd._clean(),!1}}}(e),e.jstree.defaults.massload=null,e.jstree.plugins.massload=function(t,n){this.init=function(e,t){this._data.massload={},n.init.call(this,e,t)},this._load_nodes=function(t,r,i,o){var s,a,u,c=this.settings.massload,l=[],h=this._model.data
-if(!i){for(s=0,a=t.length;a>s;s++)(!h[t[s]]||!h[t[s]].state.loaded&&!h[t[s]].state.failed||o)&&(l.push(t[s]),(u=this.get_node(t[s],!0))&&u.length&&u.addClass("jstree-loading").attr("aria-busy",!0))
-if(this._data.massload={},l.length){if(e.isFunction(c))return c.call(this,l,e.proxy(function(e){var s,a
-if(e)for(s in e)e.hasOwnProperty(s)&&(this._data.massload[s]=e[s])
-for(s=0,a=t.length;a>s;s++)(u=this.get_node(t[s],!0))&&u.length&&u.removeClass("jstree-loading").attr("aria-busy",!1)
-n._load_nodes.call(this,t,r,i,o)},this))
-if("object"==typeof c&&c&&c.url)return c=e.extend(!0,{},c),e.isFunction(c.url)&&(c.url=c.url.call(this,l)),e.isFunction(c.data)&&(c.data=c.data.call(this,l)),e.ajax(c).done(e.proxy(function(e,s,a){var c,l
-if(e)for(c in e)e.hasOwnProperty(c)&&(this._data.massload[c]=e[c])
-for(c=0,l=t.length;l>c;c++)(u=this.get_node(t[c],!0))&&u.length&&u.removeClass("jstree-loading").attr("aria-busy",!1)
-n._load_nodes.call(this,t,r,i,o)},this)).fail(e.proxy(function(e){n._load_nodes.call(this,t,r,i,o)},this))}}return n._load_nodes.call(this,t,r,i,o)},this._load_node=function(t,r){var i,o=this._data.massload[t.id],s=null
-return o?(s=this["string"==typeof o?"_append_html_data":"_append_json_data"](t,"string"==typeof o?e(e.parseHTML(o)).filter(function(){return 3!==this.nodeType}):o,function(e){r.call(this,e)}),i=this.get_node(t.id,!0),i&&i.length&&i.removeClass("jstree-loading").attr("aria-busy",!1),delete this._data.massload[t.id],s):n._load_node.call(this,t,r)}},e.jstree.defaults.search={ajax:!1,fuzzy:!1,case_sensitive:!1,show_only_matches:!1,show_only_matches_children:!1,close_opened_onclear:!0,search_leaves_only:!1,search_callback:!1},e.jstree.plugins.search=function(n,r){this.bind=function(){r.bind.call(this),this._data.search.str="",this._data.search.dom=e(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=!1,this._data.search.smc=!1,this._data.search.hdn=[],this.element.on("search.jstree",e.proxy(function(t,n){if(this._data.search.som&&n.res.length){var r,i,o,s,a=this._model.data,u=[]
-for(r=0,i=n.res.length;i>r;r++)if(a[n.res[r]]&&!a[n.res[r]].state.hidden&&(u.push(n.res[r]),u=u.concat(a[n.res[r]].parents),this._data.search.smc))for(o=0,s=a[n.res[r]].children_d.length;s>o;o++)a[a[n.res[r]].children_d[o]]&&!a[a[n.res[r]].children_d[o]].state.hidden&&u.push(a[n.res[r]].children_d[o])
-u=e.vakata.array_remove_item(e.vakata.array_unique(u),e.jstree.root),this._data.search.hdn=this.hide_all(!0),this.show_node(u,!0),this.redraw(!0)}},this)).on("clear_search.jstree",e.proxy(function(e,t){this._data.search.som&&t.res.length&&(this.show_node(this._data.search.hdn,!0),this.redraw(!0))},this))},this.search=function(n,r,i,o,s,a){if(!1===n||""===e.trim(n.toString()))return this.clear_search()
-o=this.get_node(o),o=o&&o.id?o.id:null,n=n.toString()
-var u,c,l=this.settings.search,h=!!l.ajax&&l.ajax,d=this._model.data,p=null,f=[],g=[]
-if(this._data.search.res.length&&!s&&this.clear_search(),i===t&&(i=l.show_only_matches),a===t&&(a=l.show_only_matches_children),!r&&!1!==h)return e.isFunction(h)?h.call(this,n,e.proxy(function(t){t&&t.d&&(t=t.d),this._load_nodes(e.isArray(t)?e.vakata.array_unique(t):[],function(){this.search(n,!0,i,o,s,a)})},this),o):(h=e.extend({},h),h.data||(h.data={}),h.data.str=n,o&&(h.data.inside=o),this._data.search.lastRequest&&this._data.search.lastRequest.abort(),this._data.search.lastRequest=e.ajax(h).fail(e.proxy(function(){this._data.core.last_error={error:"ajax",plugin:"search",id:"search_01",reason:"Could not load search parents",data:JSON.stringify(h)},this.settings.core.error.call(this,this._data.core.last_error)},this)).done(e.proxy(function(t){t&&t.d&&(t=t.d),this._load_nodes(e.isArray(t)?e.vakata.array_unique(t):[],function(){this.search(n,!0,i,o,s,a)})},this)),this._data.search.lastRequest)
-if(s||(this._data.search.str=n,this._data.search.dom=e(),this._data.search.res=[],this._data.search.opn=[],this._data.search.som=i,this._data.search.smc=a),p=new e.vakata.search(n,!0,{caseSensitive:l.case_sensitive,fuzzy:l.fuzzy}),e.each(d[o||e.jstree.root].children_d,function(e,t){var r=d[t]
-r.text&&!r.state.hidden&&(!l.search_leaves_only||r.state.loaded&&0===r.children.length)&&(l.search_callback&&l.search_callback.call(this,n,r)||!l.search_callback&&p.search(r.text).isMatch)&&(f.push(t),g=g.concat(r.parents))}),f.length){for(g=e.vakata.array_unique(g),u=0,c=g.length;c>u;u++)g[u]!==e.jstree.root&&d[g[u]]&&!0===this.open_node(g[u],null,0)&&this._data.search.opn.push(g[u])
-s?(this._data.search.dom=this._data.search.dom.add(e(this.element[0].querySelectorAll("#"+e.map(f,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #")))),this._data.search.res=e.vakata.array_unique(this._data.search.res.concat(f))):(this._data.search.dom=e(this.element[0].querySelectorAll("#"+e.map(f,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.res=f),this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")}this.trigger("search",{nodes:this._data.search.dom,str:n,res:this._data.search.res,show_only_matches:i})},this.clear_search=function(){this.settings.search.close_opened_onclear&&this.close_node(this._data.search.opn,0),this.trigger("clear_search",{nodes:this._data.search.dom,str:this._data.search.str,res:this._data.search.res}),this._data.search.res.length&&(this._data.search.dom=e(this.element[0].querySelectorAll("#"+e.map(this._data.search.res,function(t){return-1!=="0123456789".indexOf(t[0])?"\\3"+t[0]+" "+t.substr(1).replace(e.jstree.idregex,"\\$&"):t.replace(e.jstree.idregex,"\\$&")}).join(", #"))),this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search")),this._data.search.str="",this._data.search.res=[],this._data.search.opn=[],this._data.search.dom=e()},this.redraw_node=function(t,n,i,o){if((t=r.redraw_node.apply(this,arguments))&&-1!==e.inArray(t.id,this._data.search.res)){var s,a,u=null
-for(s=0,a=t.childNodes.length;a>s;s++)if(t.childNodes[s]&&t.childNodes[s].className&&-1!==t.childNodes[s].className.indexOf("jstree-anchor")){u=t.childNodes[s]
-break}u&&(u.className+=" jstree-search")}return t}},function(e){e.vakata.search=function(t,n,r){r=r||{},r=e.extend({},e.vakata.search.defaults,r),!1!==r.fuzzy&&(r.fuzzy=!0),t=r.caseSensitive?t:t.toLowerCase()
-var i,o,s,a,u=r.location,c=r.distance,l=r.threshold,h=t.length
-return h>32&&(r.fuzzy=!1),r.fuzzy&&(i=1<<h-1,o=function(){var e={},n=0
-for(n=0;h>n;n++)e[t.charAt(n)]=0
-for(n=0;h>n;n++)e[t.charAt(n)]|=1<<h-n-1
-return e}(),s=function(e,t){var n=e/h,r=Math.abs(u-t)
-return c?n+r/c:r?1:n}),a=function(e){if(e=r.caseSensitive?e:e.toLowerCase(),t===e||-1!==e.indexOf(t))return{isMatch:!0,score:0}
-if(!r.fuzzy)return{isMatch:!1,score:1}
-var n,a,c,d,p,f,g,m,v,y=e.length,b=l,C=e.indexOf(t,u),A=h+y,_=1,I=[]
-for(-1!==C&&(b=Math.min(s(0,C),b),-1!==(C=e.lastIndexOf(t,u+h))&&(b=Math.min(s(0,C),b))),C=-1,n=0;h>n;n++){for(c=0,d=A;d>c;)s(n,u+d)<=b?c=d:A=d,d=Math.floor((A-c)/2+c)
-for(A=d,f=Math.max(1,u-d+1),g=Math.min(u+d,y)+h,m=new Array(g+2),m[g+1]=(1<<n)-1,a=g;a>=f;a--)if(v=o[e.charAt(a-1)],m[a]=0===n?(m[a+1]<<1|1)&v:(m[a+1]<<1|1)&v|(p[a+1]|p[a])<<1|1|p[a+1],m[a]&i&&(_=s(n,a-1),b>=_)){if(b=_,C=a-1,I.push(C),!(C>u))break
-f=Math.max(1,2*u-C)}if(s(n+1,u)>b)break
-p=m}return{isMatch:C>=0,score:_}},!0===n?{search:a}:a(n)},e.vakata.search.defaults={location:0,distance:100,threshold:.6,fuzzy:!1,caseSensitive:!1}}(e),e.jstree.defaults.sort=function(e,t){return this.get_text(e)>this.get_text(t)?1:-1},e.jstree.plugins.sort=function(t,n){this.bind=function(){n.bind.call(this),this.element.on("model.jstree",e.proxy(function(e,t){this.sort(t.parent,!0)},this)).on("rename_node.jstree create_node.jstree",e.proxy(function(e,t){this.sort(t.parent||t.node.parent,!1),this.redraw_node(t.parent||t.node.parent,!0)},this)).on("move_node.jstree copy_node.jstree",e.proxy(function(e,t){this.sort(t.parent,!1),this.redraw_node(t.parent,!0)},this))},this.sort=function(t,n){var r,i
-if((t=this.get_node(t))&&t.children&&t.children.length&&(t.children.sort(e.proxy(this.settings.sort,this)),n))for(r=0,i=t.children_d.length;i>r;r++)this.sort(t.children_d[r],!1)}}
-var f=!1
-e.jstree.defaults.state={key:"jstree",events:"changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",ttl:!1,filter:!1,preserve_loaded:!1},e.jstree.plugins.state=function(t,n){this.bind=function(){n.bind.call(this)
-var t=e.proxy(function(){this.element.on(this.settings.state.events,e.proxy(function(){f&&clearTimeout(f),f=setTimeout(e.proxy(function(){this.save_state()},this),100)},this)),this.trigger("state_ready")},this)
-this.element.on("ready.jstree",e.proxy(function(e,n){this.element.one("restore_state.jstree",t),this.restore_state()||t()},this))},this.save_state=function(){var t=this.get_state()
-this.settings.state.preserve_loaded||delete t.core.loaded
-var n={state:t,ttl:this.settings.state.ttl,sec:+new Date}
-e.vakata.storage.set(this.settings.state.key,JSON.stringify(n))},this.restore_state=function(){var t=e.vakata.storage.get(this.settings.state.key)
-if(t)try{t=JSON.parse(t)}catch(e){return!1}return!(t&&t.ttl&&t.sec&&+new Date-t.sec>t.ttl)&&(t&&t.state&&(t=t.state),t&&e.isFunction(this.settings.state.filter)&&(t=this.settings.state.filter.call(this,t)),!!t&&(this.settings.state.preserve_loaded||delete t.core.loaded,this.element.one("set_state.jstree",function(n,r){r.instance.trigger("restore_state",{state:e.extend(!0,{},t)})}),this.set_state(t),!0))},this.clear_state=function(){return e.vakata.storage.del(this.settings.state.key)}},function(e,t){e.vakata.storage={set:function(e,t){return window.localStorage.setItem(e,t)},get:function(e){return window.localStorage.getItem(e)},del:function(e){return window.localStorage.removeItem(e)}}}(e),e.jstree.defaults.types={default:{}},e.jstree.defaults.types[e.jstree.root]={},e.jstree.plugins.types=function(n,r){this.init=function(n,i){var o,s
-if(i&&i.types&&i.types.default)for(o in i.types)if("default"!==o&&o!==e.jstree.root&&i.types.hasOwnProperty(o))for(s in i.types.default)i.types.default.hasOwnProperty(s)&&i.types[o][s]===t&&(i.types[o][s]=i.types.default[s])
-r.init.call(this,n,i),this._model.data[e.jstree.root].type=e.jstree.root},this.refresh=function(t,n){r.refresh.call(this,t,n),this._model.data[e.jstree.root].type=e.jstree.root},this.bind=function(){this.element.on("model.jstree",e.proxy(function(n,r){var i,o,s,a=this._model.data,u=r.nodes,c=this.settings.types,l="default"
-for(i=0,o=u.length;o>i;i++){if(l="default",a[u[i]].original&&a[u[i]].original.type&&c[a[u[i]].original.type]&&(l=a[u[i]].original.type),a[u[i]].data&&a[u[i]].data.jstree&&a[u[i]].data.jstree.type&&c[a[u[i]].data.jstree.type]&&(l=a[u[i]].data.jstree.type),a[u[i]].type=l,!0===a[u[i]].icon&&c[l].icon!==t&&(a[u[i]].icon=c[l].icon),c[l].li_attr!==t&&"object"==typeof c[l].li_attr)for(s in c[l].li_attr)if(c[l].li_attr.hasOwnProperty(s)){if("id"===s)continue
-a[u[i]].li_attr[s]===t?a[u[i]].li_attr[s]=c[l].li_attr[s]:"class"===s&&(a[u[i]].li_attr.class=c[l].li_attr.class+" "+a[u[i]].li_attr.class)}if(c[l].a_attr!==t&&"object"==typeof c[l].a_attr)for(s in c[l].a_attr)if(c[l].a_attr.hasOwnProperty(s)){if("id"===s)continue
-a[u[i]].a_attr[s]===t?a[u[i]].a_attr[s]=c[l].a_attr[s]:"href"===s&&"#"===a[u[i]].a_attr[s]?a[u[i]].a_attr.href=c[l].a_attr.href:"class"===s&&(a[u[i]].a_attr.class=c[l].a_attr.class+" "+a[u[i]].a_attr.class)}}a[e.jstree.root].type=e.jstree.root},this)),r.bind.call(this)},this.get_json=function(t,n,i){var o,s,a=this._model.data,u=n?e.extend(!0,{},n,{no_id:!1}):{},c=r.get_json.call(this,t,u,i)
-if(!1===c)return!1
-if(e.isArray(c))for(o=0,s=c.length;s>o;o++)c[o].type=c[o].id&&a[c[o].id]&&a[c[o].id].type?a[c[o].id].type:"default",n&&n.no_id&&(delete c[o].id,c[o].li_attr&&c[o].li_attr.id&&delete c[o].li_attr.id,c[o].a_attr&&c[o].a_attr.id&&delete c[o].a_attr.id)
-else c.type=c.id&&a[c.id]&&a[c.id].type?a[c.id].type:"default",n&&n.no_id&&(c=this._delete_ids(c))
-return c},this._delete_ids=function(t){if(e.isArray(t)){for(var n=0,r=t.length;r>n;n++)t[n]=this._delete_ids(t[n])
-return t}return delete t.id,t.li_attr&&t.li_attr.id&&delete t.li_attr.id,t.a_attr&&t.a_attr.id&&delete t.a_attr.id,t.children&&e.isArray(t.children)&&(t.children=this._delete_ids(t.children)),t},this.check=function(n,i,o,s,a){if(!1===r.check.call(this,n,i,o,s,a))return!1
-i=i&&i.id?i:this.get_node(i),o=o&&o.id?o:this.get_node(o)
-var u,c,l,h,d=i&&i.id?a&&a.origin?a.origin:e.jstree.reference(i.id):null
-switch(d=d&&d._model&&d._model.data?d._model.data:null,n){case"create_node":case"move_node":case"copy_node":if("move_node"!==n||-1===e.inArray(i.id,o.children)){if(u=this.get_rules(o),u.max_children!==t&&-1!==u.max_children&&u.max_children===o.children.length)return this._data.core.last_error={error:"check",plugin:"types",id:"types_01",reason:"max_children prevents function: "+n,data:JSON.stringify({chk:n,pos:s,obj:!(!i||!i.id)&&i.id,par:!(!o||!o.id)&&o.id})},!1
-if(u.valid_children!==t&&-1!==u.valid_children&&-1===e.inArray(i.type||"default",u.valid_children))return this._data.core.last_error={error:"check",plugin:"types",id:"types_02",reason:"valid_children prevents function: "+n,data:JSON.stringify({chk:n,pos:s,obj:!(!i||!i.id)&&i.id,par:!(!o||!o.id)&&o.id})},!1
-if(d&&i.children_d&&i.parents){for(c=0,l=0,h=i.children_d.length;h>l;l++)c=Math.max(c,d[i.children_d[l]].parents.length)
-c=c-i.parents.length+1}(0>=c||c===t)&&(c=1)
-do{if(u.max_depth!==t&&-1!==u.max_depth&&u.max_depth<c)return this._data.core.last_error={error:"check",plugin:"types",id:"types_03",reason:"max_depth prevents function: "+n,data:JSON.stringify({chk:n,pos:s,obj:!(!i||!i.id)&&i.id,par:!(!o||!o.id)&&o.id})},!1
-o=this.get_node(o.parent),u=this.get_rules(o),c++}while(o)}}return!0},this.get_rules=function(e){if(!(e=this.get_node(e)))return!1
-var n=this.get_type(e,!0)
-return n.max_depth===t&&(n.max_depth=-1),n.max_children===t&&(n.max_children=-1),n.valid_children===t&&(n.valid_children=-1),n},this.get_type=function(t,n){return!!(t=this.get_node(t))&&(n?e.extend({type:t.type},this.settings.types[t.type]):t.type)},this.set_type=function(n,r){var i,o,s,a,u,c,l,h,d=this._model.data
-if(e.isArray(n)){for(n=n.slice(),o=0,s=n.length;s>o;o++)this.set_type(n[o],r)
-return!0}if(i=this.settings.types,n=this.get_node(n),!i[r]||!n)return!1
-if(l=this.get_node(n,!0),l&&l.length&&(h=l.children(".jstree-anchor")),a=n.type,u=this.get_icon(n),n.type=r,(!0===u||!i[a]||i[a].icon!==t&&u===i[a].icon)&&this.set_icon(n,i[r].icon===t||i[r].icon),i[a]&&i[a].li_attr!==t&&"object"==typeof i[a].li_attr)for(c in i[a].li_attr)if(i[a].li_attr.hasOwnProperty(c)){if("id"===c)continue
-"class"===c?(d[n.id].li_attr.class=(d[n.id].li_attr.class||"").replace(i[a].li_attr[c],""),l&&l.removeClass(i[a].li_attr[c])):d[n.id].li_attr[c]===i[a].li_attr[c]&&(d[n.id].li_attr[c]=null,l&&l.removeAttr(c))}if(i[a]&&i[a].a_attr!==t&&"object"==typeof i[a].a_attr)for(c in i[a].a_attr)if(i[a].a_attr.hasOwnProperty(c)){if("id"===c)continue
-"class"===c?(d[n.id].a_attr.class=(d[n.id].a_attr.class||"").replace(i[a].a_attr[c],""),h&&h.removeClass(i[a].a_attr[c])):d[n.id].a_attr[c]===i[a].a_attr[c]&&("href"===c?(d[n.id].a_attr[c]="#",h&&h.attr("href","#")):(delete d[n.id].a_attr[c],h&&h.removeAttr(c)))}if(i[r].li_attr!==t&&"object"==typeof i[r].li_attr)for(c in i[r].li_attr)if(i[r].li_attr.hasOwnProperty(c)){if("id"===c)continue
-d[n.id].li_attr[c]===t?(d[n.id].li_attr[c]=i[r].li_attr[c],l&&("class"===c?l.addClass(i[r].li_attr[c]):l.attr(c,i[r].li_attr[c]))):"class"===c&&(d[n.id].li_attr.class=i[r].li_attr[c]+" "+d[n.id].li_attr.class,l&&l.addClass(i[r].li_attr[c]))}if(i[r].a_attr!==t&&"object"==typeof i[r].a_attr)for(c in i[r].a_attr)if(i[r].a_attr.hasOwnProperty(c)){if("id"===c)continue
-d[n.id].a_attr[c]===t?(d[n.id].a_attr[c]=i[r].a_attr[c],h&&("class"===c?h.addClass(i[r].a_attr[c]):h.attr(c,i[r].a_attr[c]))):"href"===c&&"#"===d[n.id].a_attr[c]?(d[n.id].a_attr.href=i[r].a_attr.href,h&&h.attr("href",i[r].a_attr.href)):"class"===c&&(d[n.id].a_attr.class=i[r].a_attr.class+" "+d[n.id].a_attr.class,h&&h.addClass(i[r].a_attr[c]))}return!0}},e.jstree.defaults.unique={case_sensitive:!1,trim_whitespace:!1,duplicate:function(e,t){return e+" ("+t+")"}},e.jstree.plugins.unique=function(n,r){this.check=function(t,n,i,o,s){if(!1===r.check.call(this,t,n,i,o,s))return!1
-if(n=n&&n.id?n:this.get_node(n),!(i=i&&i.id?i:this.get_node(i))||!i.children)return!0
-var a,u,c,l="rename_node"===t?o:n.text,h=[],d=this.settings.unique.case_sensitive,p=this.settings.unique.trim_whitespace,f=this._model.data
-for(a=0,u=i.children.length;u>a;a++)c=f[i.children[a]].text,d||(c=c.toLowerCase()),p&&(c=c.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),h.push(c)
-switch(d||(l=l.toLowerCase()),p&&(l=l.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),t){case"delete_node":return!0
-case"rename_node":return c=n.text||"",d||(c=c.toLowerCase()),p&&(c=c.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),a=-1===e.inArray(l,h)||n.text&&c===l,a||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_01",reason:"Child with name "+l+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:o,obj:!(!n||!n.id)&&n.id,par:!(!i||!i.id)&&i.id})}),a
-case"create_node":return a=-1===e.inArray(l,h),a||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_04",reason:"Child with name "+l+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:o,obj:!(!n||!n.id)&&n.id,par:!(!i||!i.id)&&i.id})}),a
-case"copy_node":return a=-1===e.inArray(l,h),a||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_02",reason:"Child with name "+l+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:o,obj:!(!n||!n.id)&&n.id,par:!(!i||!i.id)&&i.id})}),a
-case"move_node":return a=n.parent===i.id&&(!s||!s.is_multi)||-1===e.inArray(l,h),a||(this._data.core.last_error={error:"check",plugin:"unique",id:"unique_03",reason:"Child with name "+l+" already exists. Preventing: "+t,data:JSON.stringify({chk:t,pos:o,obj:!(!n||!n.id)&&n.id,par:!(!i||!i.id)&&i.id})}),a}return!0},this.create_node=function(n,i,o,s,a){if(!i||i.text===t){if(null===n&&(n=e.jstree.root),!(n=this.get_node(n)))return r.create_node.call(this,n,i,o,s,a)
-if(o=o===t?"last":o,!o.toString().match(/^(before|after)$/)&&!a&&!this.is_loaded(n))return r.create_node.call(this,n,i,o,s,a)
-i||(i={})
-var u,c,l,h,d,p,f=this._model.data,g=this.settings.unique.case_sensitive,m=this.settings.unique.trim_whitespace,v=this.settings.unique.duplicate
-for(c=u=this.get_string("New node"),l=[],h=0,d=n.children.length;d>h;h++)p=f[n.children[h]].text,g||(p=p.toLowerCase()),m&&(p=p.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")),l.push(p)
-for(h=1,p=c,g||(p=p.toLowerCase()),m&&(p=p.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""));-1!==e.inArray(p,l);)c=v.call(this,u,++h).toString(),p=c,g||(p=p.toLowerCase()),m&&(p=p.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))
-i.text=c}return r.create_node.call(this,n,i,o,s,a)}}
-var g=u.createElement("DIV")
-if(g.setAttribute("unselectable","on"),g.setAttribute("role","presentation"),g.className="jstree-wholerow",g.innerHTML="&#160;",e.jstree.plugins.wholerow=function(t,n){this.bind=function(){n.bind.call(this),this.element.on("ready.jstree set_state.jstree",e.proxy(function(){this.hide_dots()},this)).on("init.jstree loading.jstree ready.jstree",e.proxy(function(){this.get_container_ul().addClass("jstree-wholerow-ul")},this)).on("deselect_all.jstree",e.proxy(function(e,t){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")},this)).on("changed.jstree",e.proxy(function(e,t){this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")
-var n,r,i=!1
-for(n=0,r=t.selected.length;r>n;n++)(i=this.get_node(t.selected[n],!0))&&i.length&&i.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("open_node.jstree",e.proxy(function(e,t){this.get_node(t.node,!0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")},this)).on("hover_node.jstree dehover_node.jstree",e.proxy(function(e,t){"hover_node"===e.type&&this.is_disabled(t.node)||this.get_node(t.node,!0).children(".jstree-wholerow")["hover_node"===e.type?"addClass":"removeClass"]("jstree-wholerow-hovered")},this)).on("contextmenu.jstree",".jstree-wholerow",e.proxy(function(t){if(this._data.contextmenu){t.preventDefault()
-var n=e.Event("contextmenu",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey,pageX:t.pageX,pageY:t.pageY})
-e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(n)}},this)).on("click.jstree",".jstree-wholerow",function(t){t.stopImmediatePropagation()
-var n=e.Event("click",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey})
-e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(n).focus()}).on("dblclick.jstree",".jstree-wholerow",function(t){t.stopImmediatePropagation()
-var n=e.Event("dblclick",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey})
-e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(n).focus()}).on("click.jstree",".jstree-leaf > .jstree-ocl",e.proxy(function(t){t.stopImmediatePropagation()
-var n=e.Event("click",{metaKey:t.metaKey,ctrlKey:t.ctrlKey,altKey:t.altKey,shiftKey:t.shiftKey})
-e(t.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(n).focus()},this)).on("mouseover.jstree",".jstree-wholerow, .jstree-icon",e.proxy(function(e){return e.stopImmediatePropagation(),this.is_disabled(e.currentTarget)||this.hover_node(e.currentTarget),!1},this)).on("mouseleave.jstree",".jstree-node",e.proxy(function(e){this.dehover_node(e.currentTarget)},this))},this.teardown=function(){this.settings.wholerow&&this.element.find(".jstree-wholerow").remove(),n.teardown.call(this)},this.redraw_node=function(t,r,i,o){if(t=n.redraw_node.apply(this,arguments)){var s=g.cloneNode(!0);-1!==e.inArray(t.id,this._data.core.selected)&&(s.className+=" jstree-wholerow-clicked"),this._data.core.focused&&this._data.core.focused===t.id&&(s.className+=" jstree-wholerow-hovered"),t.insertBefore(s,t.childNodes[0])}return t}},window.customElements&&Object&&Object.create){var m=Object.create(HTMLElement.prototype)
-m.createdCallback=function(){var t,n={core:{},plugins:[]}
-for(t in e.jstree.plugins)e.jstree.plugins.hasOwnProperty(t)&&this.attributes[t]&&(n.plugins.push(t),this.getAttribute(t)&&JSON.parse(this.getAttribute(t))&&(n[t]=JSON.parse(this.getAttribute(t))))
-for(t in e.jstree.defaults.core)e.jstree.defaults.core.hasOwnProperty(t)&&this.attributes[t]&&(n.core[t]=JSON.parse(this.getAttribute(t))||this.getAttribute(t))
-e(this).jstree(n)}
-try{window.customElements.define("vakata-jstree",function(){},{prototype:m})}catch(e){}}}}),function(){function e(e){"use strict"
-var t={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:"Remove only spaces, ' and \" from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids",type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,description:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,description:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,description:"Parses simple line breaks as <br> (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,description:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,description:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",description:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,description:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,description:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,description:"Support for HTML Tag escaping. ex: <div>foo</div>",type:"boolean"},emoji:{defaultValue:!1,description:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,description:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`",type:"boolean"},completeHTMLDocument:{defaultValue:!1,description:"Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags",type:"boolean"},metadata:{defaultValue:!1,description:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,description:"Split adjacent blockquote blocks",type:"boolean"}}
-if(!1===e)return JSON.parse(JSON.stringify(t))
-var n={}
-for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r].defaultValue)
-return n}function t(e,t){"use strict"
-var n=t?"Error in "+t+" extension->":"Error in unnamed extension",i={valid:!0,error:""}
-r.helper.isArray(e)||(e=[e])
-for(var o=0;o<e.length;++o){var s=n+" sub-extension "+o+": ",a=e[o]
-if("object"!=typeof a)return i.valid=!1,i.error=s+"must be an object, but "+typeof a+" given",i
-if(!r.helper.isString(a.type))return i.valid=!1,i.error=s+'property "type" must be a string, but '+typeof a.type+" given",i
-var u=a.type=a.type.toLowerCase()
-if("language"===u&&(u=a.type="lang"),"html"===u&&(u=a.type="output"),"lang"!==u&&"output"!==u&&"listener"!==u)return i.valid=!1,i.error=s+"type "+u+' is not recognized. Valid values: "lang/language", "output/html" or "listener"',i
-if("listener"===u){if(r.helper.isUndefined(a.listeners))return i.valid=!1,i.error=s+'. Extensions of type "listener" must have a property called "listeners"',i}else if(r.helper.isUndefined(a.filter)&&r.helper.isUndefined(a.regex))return i.valid=!1,i.error=s+u+' extensions must define either a "regex" property or a "filter" method',i
-if(a.listeners){if("object"!=typeof a.listeners)return i.valid=!1,i.error=s+'"listeners" property must be an object but '+typeof a.listeners+" given",i
-for(var c in a.listeners)if(a.listeners.hasOwnProperty(c)&&"function"!=typeof a.listeners[c])return i.valid=!1,i.error=s+'"listeners" property must be an hash of [event name]: [callback]. listeners.'+c+" must be a function but "+typeof a.listeners[c]+" given",i}if(a.filter){if("function"!=typeof a.filter)return i.valid=!1,i.error=s+'"filter" must be a function, but '+typeof a.filter+" given",i}else if(a.regex){if(r.helper.isString(a.regex)&&(a.regex=new RegExp(a.regex,"g")),!(a.regex instanceof RegExp))return i.valid=!1,i.error=s+'"regex" property must either be a string or a RegExp object, but '+typeof a.regex+" given",i
-if(r.helper.isUndefined(a.replace))return i.valid=!1,i.error=s+'"regex" extensions must implement a replace string or function',i}}return i}function n(e,t){"use strict"
-return"¨E"+t.charCodeAt(0)+"E"}var r={},i={},o={},s=e(!0),a="vanilla",u={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:e(!0),allOn:function(){"use strict"
-var t=e(!0),n={}
-for(var r in t)t.hasOwnProperty(r)&&(n[r]=!0)
-return n}()}
-r.helper={},r.extensions={},r.setOption=function(e,t){"use strict"
-return s[e]=t,this},r.getOption=function(e){"use strict"
-return s[e]},r.getOptions=function(){"use strict"
-return s},r.resetOptions=function(){"use strict"
-s=e(!0)},r.setFlavor=function(e){"use strict"
-if(!u.hasOwnProperty(e))throw Error(e+" flavor was not found")
-r.resetOptions()
-var t=u[e]
-a=e
-for(var n in t)t.hasOwnProperty(n)&&(s[n]=t[n])},r.getFlavor=function(){"use strict"
-return a},r.getFlavorOptions=function(e){"use strict"
-if(u.hasOwnProperty(e))return u[e]},r.getDefaultOptions=function(t){"use strict"
-return e(t)},r.subParser=function(e,t){"use strict"
-if(r.helper.isString(e)){if(void 0===t){if(i.hasOwnProperty(e))return i[e]
-throw Error("SubParser named "+e+" not registered!")}i[e]=t}},r.extension=function(e,n){"use strict"
-if(!r.helper.isString(e))throw Error("Extension 'name' must be a string")
-if(e=r.helper.stdExtName(e),r.helper.isUndefined(n)){if(!o.hasOwnProperty(e))throw Error("Extension named "+e+" is not registered!")
-return o[e]}"function"==typeof n&&(n=n()),r.helper.isArray(n)||(n=[n])
-var i=t(n,e)
-if(!i.valid)throw Error(i.error)
-o[e]=n},r.getAllExtensions=function(){"use strict"
-return o},r.removeExtension=function(e){"use strict"
-delete o[e]},r.resetExtensions=function(){"use strict"
-o={}},r.validateExtension=function(e){"use strict"
-var n=t(e,null)
-return!!n.valid||(console.warn(n.error),!1)},r.hasOwnProperty("helper")||(r.helper={}),r.helper.isString=function(e){"use strict"
-return"string"==typeof e||e instanceof String},r.helper.isFunction=function(e){"use strict"
-return e&&"[object Function]"==={}.toString.call(e)},r.helper.isArray=function(e){"use strict"
-return Array.isArray(e)},r.helper.isUndefined=function(e){"use strict"
-return void 0===e},r.helper.forEach=function(e,t){"use strict"
-if(r.helper.isUndefined(e))throw new Error("obj param is required")
-if(r.helper.isUndefined(t))throw new Error("callback param is required")
-if(!r.helper.isFunction(t))throw new Error("callback param must be a function/closure")
-if("function"==typeof e.forEach)e.forEach(t)
-else if(r.helper.isArray(e))for(var n=0;n<e.length;n++)t(e[n],n,e)
-else{if("object"!=typeof e)throw new Error("obj does not seem to be an array or an iterable object")
-for(var i in e)e.hasOwnProperty(i)&&t(e[i],i,e)}},r.helper.stdExtName=function(e){"use strict"
-return e.replace(/[_?*+\/\\.^-]/g,"").replace(/\s/g,"").toLowerCase()},r.helper.escapeCharactersCallback=n,r.helper.escapeCharacters=function(e,t,r){"use strict"
-var i="(["+t.replace(/([\[\]\\])/g,"\\$1")+"])"
-r&&(i="\\\\"+i)
-var o=new RegExp(i,"g")
-return e=e.replace(o,n)}
-var c=function(e,t,n,r){"use strict"
-var i,o,s,a,u,c=r||"",l=c.indexOf("g")>-1,h=new RegExp(t+"|"+n,"g"+c.replace(/g/g,"")),d=new RegExp(t,c.replace(/g/g,"")),p=[]
-do{for(i=0;s=h.exec(e);)if(d.test(s[0]))i++||(a=(o=h.lastIndex)-s[0].length)
-else if(i&&!--i){u=s.index+s[0].length
-var f={left:{start:a,end:o},match:{start:o,end:s.index},right:{start:s.index,end:u},wholeMatch:{start:a,end:u}}
-if(p.push(f),!l)return p}}while(i&&(h.lastIndex=o))
-return p}
-r.helper.matchRecursiveRegExp=function(e,t,n,r){"use strict"
-for(var i=c(e,t,n,r),o=[],s=0;s<i.length;++s)o.push([e.slice(i[s].wholeMatch.start,i[s].wholeMatch.end),e.slice(i[s].match.start,i[s].match.end),e.slice(i[s].left.start,i[s].left.end),e.slice(i[s].right.start,i[s].right.end)])
-return o},r.helper.replaceRecursiveRegExp=function(e,t,n,i,o){"use strict"
-if(!r.helper.isFunction(t)){var s=t
-t=function(){return s}}var a=c(e,n,i,o),u=e,l=a.length
-if(l>0){var h=[]
-0!==a[0].wholeMatch.start&&h.push(e.slice(0,a[0].wholeMatch.start))
-for(var d=0;d<l;++d)h.push(t(e.slice(a[d].wholeMatch.start,a[d].wholeMatch.end),e.slice(a[d].match.start,a[d].match.end),e.slice(a[d].left.start,a[d].left.end),e.slice(a[d].right.start,a[d].right.end))),d<l-1&&h.push(e.slice(a[d].wholeMatch.end,a[d+1].wholeMatch.start))
-a[l-1].wholeMatch.end<e.length&&h.push(e.slice(a[l-1].wholeMatch.end)),u=h.join("")}return u},r.helper.regexIndexOf=function(e,t,n){"use strict"
-if(!r.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string"
-if(t instanceof RegExp==0)throw"InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp"
-var i=e.substring(n||0).search(t)
-return i>=0?i+(n||0):i},r.helper.splitAtIndex=function(e,t){"use strict"
-if(!r.helper.isString(e))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string"
-return[e.substring(0,t),e.substring(t)]},r.helper.encodeEmailAddress=function(e){"use strict"
-var t=[function(e){return"&#"+e.charCodeAt(0)+";"},function(e){return"&#x"+e.charCodeAt(0).toString(16)+";"},function(e){return e}]
-return e=e.replace(/./g,function(e){if("@"===e)e=t[Math.floor(2*Math.random())](e)
-else{var n=Math.random()
-e=n>.9?t[2](e):n>.45?t[1](e):t[0](e)}return e})},"undefined"==typeof console&&(console={warn:function(e){"use strict"
-alert(e)},log:function(e){"use strict"
-alert(e)},error:function(e){"use strict"
-throw e}}),r.helper.regexes={asteriskDashAndColon:/([*_:~])/g},r.helper.emojis={"+1":"👍","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰️",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈️",alarm_clock:"⏰",alembic:"⚗️",alien:"👽",ambulance:"🚑",amphora:"🏺",anchor:"⚓️",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"🐜",apple:"🍎",aquarius:"♒️",aries:"♈️",arrow_backward:"◀️",arrow_double_down:"⏬",arrow_double_up:"⏫",arrow_down:"⬇️",arrow_down_small:"🔽",arrow_forward:"▶️",arrow_heading_down:"⤵️",arrow_heading_up:"⤴️",arrow_left:"⬅️",arrow_lower_left:"↙️",arrow_lower_right:"↘️",arrow_right:"➡️",arrow_right_hook:"↪️",arrow_up:"⬆️",arrow_up_down:"↕️",arrow_up_small:"🔼",arrow_upper_left:"↖️",arrow_upper_right:"↗️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"🏧",atom_symbol:"⚛️",avocado:"🥑",b:"🅱️",baby:"👶",baby_bottle:"🍼",baby_chick:"🐤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"🏸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"⚖️",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑️",bamboo:"🎍",banana:"🍌",bangbang:"‼️",bank:"🏦",bar_chart:"📊",barber:"💈",baseball:"⚾️",basketball:"🏀",basketball_man:"⛹️",basketball_woman:"⛹️&zwj;♀️",bat:"🦇",bath:"🛀",bathtub:"🛁",battery:"🔋",beach_umbrella:"🏖",bear:"🐻",bed:"🛏",bee:"🐝",beer:"🍺",beers:"🍻",beetle:"🐞",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"🍱",biking_man:"🚴",bike:"🚲",biking_woman:"🚴&zwj;♀️",bikini:"👙",biohazard:"☣️",bird:"🐦",birthday:"🎂",black_circle:"⚫️",black_flag:"🏴",black_heart:"🖤",black_joker:"🃏",black_large_square:"⬛️",black_medium_small_square:"◾️",black_medium_square:"◼️",black_nib:"✒️",black_small_square:"▪️",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱&zwj;♀️",blossom:"🌼",blowfish:"🐡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"🐗",boat:"⛵️",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"💐",bowing_man:"🙇",bow_and_arrow:"🏹",bowing_woman:"🙇&zwj;♀️",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"🍞",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"🐛",building_construction:"🏗",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"🚏",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"🍰",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"🐫",camera:"📷",camera_flash:"📸",camping:"🏕",cancer:"♋️",candle:"🕯",candy:"🍬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑️",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"🐱",cat2:"🐈",cd:"💿",chains:"⛓",champagne:"🍾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"🏁",cheese:"🧀",cherries:"🍒",cherry_blossom:"🌸",chestnut:"🌰",chicken:"🐔",children_crossing:"🚸",chipmunk:"🐿",chocolate_bar:"🍫",christmas_tree:"🎄",church:"⛪️",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"🏙",cl:"🆑",clamp:"🗜",clap:"👏",clapper:"🎬",classical_building:"🏛",clinking_glasses:"🥂",clipboard:"📋",clock1:"🕐",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"🔐",closed_umbrella:"🌂",cloud:"☁️",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣️",cocktail:"🍸",coffee:"☕️",coffin:"⚰️",cold_sweat:"😰",comet:"☄️",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗️",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷&zwj;♀️",control_knobs:"🎛",convenience_store:"🏪",cookie:"🍪",cool:"🆒",policeman:"👮",copyright:"©️",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨&zwj;❤️&zwj;👨",couple_with_heart_woman_woman:"👩&zwj;❤️&zwj;👩",couplekiss_man_man:"👨&zwj;❤️&zwj;💋&zwj;👨",couplekiss_man_woman:"💏",couplekiss_woman_woman:"👩&zwj;❤️&zwj;💋&zwj;👩",cow:"🐮",cow2:"🐄",cowboy_hat_face:"🤠",crab:"🦀",crayon:"🖍",credit_card:"💳",crescent_moon:"🌙",cricket:"🏏",crocodile:"🐊",croissant:"🥐",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"⚔️",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"➰",currency_exchange:"💱",curry:"🍛",custard:"🍮",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯&zwj;♂️",dango:"🍡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"🏬",derelict_house:"🏚",desert:"🏜",desert_island:"🏝",desktop_computer:"🖥",male_detective:"🕵️",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦️",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"🐶",dog2:"🐕",dollar:"💵",dolls:"🎎",dolphin:"🐬",door:"🚪",doughnut:"🍩",dove:"🕊",dragon:"🐉",dragon_face:"🐲",dress:"👗",dromedary_camel:"🐪",drooling_face:"🤤",droplet:"💧",drum:"🥁",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",egg:"🥚",eggplant:"🍆",eight_pointed_black_star:"✴️",eight_spoked_asterisk:"✳️",electric_plug:"🔌",elephant:"🐘",email:"✉️",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"🏰",european_post_office:"🏤",evergreen_tree:"🌲",exclamation:"❗️",expressionless:"😑",eye:"👁",eye_speech_bubble:"👁&zwj;🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"🏭",fallen_leaf:"🍂",family_man_woman_boy:"👪",family_man_boy:"👨&zwj;👦",family_man_boy_boy:"👨&zwj;👦&zwj;👦",family_man_girl:"👨&zwj;👧",family_man_girl_boy:"👨&zwj;👧&zwj;👦",family_man_girl_girl:"👨&zwj;👧&zwj;👧",family_man_man_boy:"👨&zwj;👨&zwj;👦",family_man_man_boy_boy:"👨&zwj;👨&zwj;👦&zwj;👦",family_man_man_girl:"👨&zwj;👨&zwj;👧",family_man_man_girl_boy:"👨&zwj;👨&zwj;👧&zwj;👦",family_man_man_girl_girl:"👨&zwj;👨&zwj;👧&zwj;👧",family_man_woman_boy_boy:"👨&zwj;👩&zwj;👦&zwj;👦",family_man_woman_girl:"👨&zwj;👩&zwj;👧",family_man_woman_girl_boy:"👨&zwj;👩&zwj;👧&zwj;👦",family_man_woman_girl_girl:"👨&zwj;👩&zwj;👧&zwj;👧",family_woman_boy:"👩&zwj;👦",family_woman_boy_boy:"👩&zwj;👦&zwj;👦",family_woman_girl:"👩&zwj;👧",family_woman_girl_boy:"👩&zwj;👧&zwj;👦",family_woman_girl_girl:"👩&zwj;👧&zwj;👧",family_woman_woman_boy:"👩&zwj;👩&zwj;👦",family_woman_woman_boy_boy:"👩&zwj;👩&zwj;👦&zwj;👦",family_woman_woman_girl:"👩&zwj;👩&zwj;👧",family_woman_woman_girl_boy:"👩&zwj;👩&zwj;👧&zwj;👦",family_woman_woman_girl_girl:"👩&zwj;👩&zwj;👧&zwj;👧",fast_forward:"⏩",fax:"📠",fearful:"😨",feet:"🐾",female_detective:"🕵️&zwj;♀️",ferris_wheel:"🎡",ferry:"⛴",field_hockey:"🏑",file_cabinet:"🗄",file_folder:"📁",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"🐟",fish_cake:"🍥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"🎏",flashlight:"🔦",fleur_de_lis:"⚜️",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"🌁",football:"🏈",footprints:"👣",fork_and_knife:"🍴",fountain:"⛲️",fountain_pen:"🖋",four_leaf_clover:"🍀",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"🍳",fried_shrimp:"🍤",fries:"🍟",frog:"🐸",frowning:"😦",frowning_face:"☹️",frowning_man:"🙍&zwj;♂️",frowning_woman:"🙍",middle_finger:"🖕",fuelpump:"⛽️",full_moon:"🌕",full_moon_with_face:"🌝",funeral_urn:"⚱️",game_die:"🎲",gear:"⚙️",gem:"💎",gemini:"♊️",ghost:"👻",gift:"🎁",gift_heart:"💝",girl:"👧",globe_with_meridians:"🌐",goal_net:"🥅",goat:"🐐",golf:"⛳️",golfing_man:"🏌️",golfing_woman:"🏌️&zwj;♀️",gorilla:"🦍",grapes:"🍇",green_apple:"🍏",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"❕",grey_question:"❔",grimacing:"😬",grin:"😁",grinning:"😀",guardsman:"💂",guardswoman:"💂&zwj;♀️",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇&zwj;♂️",hamburger:"🍔",hammer:"🔨",hammer_and_pick:"⚒",hammer_and_wrench:"🛠",hamster:"🐹",hand:"✋",handbag:"👜",handshake:"🤝",hankey:"💩",hatched_chick:"🐥",hatching_chick:"🐣",headphones:"🎧",hear_no_evil:"🙉",heart:"❤️",heart_decoration:"💟",heart_eyes:"😍",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥️",heavy_check_mark:"✔️",heavy_division_sign:"➗",heavy_dollar_sign:"💲",heavy_heart_exclamation:"❣️",heavy_minus_sign:"➖",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",helicopter:"🚁",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"🍯",horse:"🐴",horse_racing:"🏇",hospital:"🏥",hot_pepper:"🌶",hotdog:"🌭",hotel:"🏨",hotsprings:"♨️",hourglass:"⌛️",hourglass_flowing_sand:"⏳",house:"🏠",house_with_garden:"🏡",houses:"🏘",hugs:"🤗",hushed:"😯",ice_cream:"🍨",ice_hockey:"🏒",ice_skate:"⛸",icecream:"🍦",id:"🆔",ideograph_advantage:"🉐",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"💁",information_source:"ℹ️",innocent:"😇",interrobang:"⁉️",iphone:"📱",izakaya_lantern:"🏮",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"🏯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨️",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"🥝",koala:"🐨",koko:"🈁",label:"🏷",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"✝️",laughing:"😆",leaves:"🍃",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",lemon:"🍋",leo:"♌️",leopard:"🐆",level_slider:"🎚",libra:"♎️",light_rail:"🚈",link:"🔗",lion:"🦁",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"🔏",lollipop:"🍭",loop:"➿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"🏩",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"Ⓜ️",mag:"🔍",mag_right:"🔎",mahjong:"🀄️",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",man:"👨",man_artist:"👨&zwj;🎨",man_astronaut:"👨&zwj;🚀",man_cartwheeling:"🤸&zwj;♂️",man_cook:"👨&zwj;🍳",man_dancing:"🕺",man_facepalming:"🤦&zwj;♂️",man_factory_worker:"👨&zwj;🏭",man_farmer:"👨&zwj;🌾",man_firefighter:"👨&zwj;🚒",man_health_worker:"👨&zwj;⚕️",man_in_tuxedo:"🤵",man_judge:"👨&zwj;⚖️",man_juggling:"🤹&zwj;♂️",man_mechanic:"👨&zwj;🔧",man_office_worker:"👨&zwj;💼",man_pilot:"👨&zwj;✈️",man_playing_handball:"🤾&zwj;♂️",man_playing_water_polo:"🤽&zwj;♂️",man_scientist:"👨&zwj;🔬",man_shrugging:"🤷&zwj;♂️",man_singer:"👨&zwj;🎤",man_student:"👨&zwj;🎓",man_teacher:"👨&zwj;🏫",man_technologist:"👨&zwj;💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"🍊",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"🍁",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆&zwj;♂️",meat_on_bone:"🍖",medal_military:"🎖",medal_sports:"🏅",mega:"📣",melon:"🍈",memo:"📝",men_wrestling:"🤼&zwj;♂️",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"🚐",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"🐒",monkey_face:"🐵",monorail:"🚝",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"🏍",motorway:"🛣",mount_fuji:"🗻",mountain:"⛰",mountain_biking_man:"🚵",mountain_biking_woman:"🚵&zwj;♀️",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"🏔",mouse:"🐭",mouse2:"🐁",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"🍄",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"🏞",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"❎",nerd_face:"🤓",neutral_face:"😐",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"⏭",ng:"🆖",no_good_man:"🙅&zwj;♂️",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"⛔️",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"🚭","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"⭕️",o2:"🅾️",ocean:"🌊",octopus:"🐙",oden:"🍢",office:"🏢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆&zwj;♂️",ok_woman:"🙆",old_key:"🗝",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"🚍",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"👐",open_mouth:"😮",open_umbrella:"☂️",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦️",outbox_tray:"📤",owl:"🦉",ox:"🐂",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"🐼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"⛱",parking:"🅿️",part_alternation_mark:"〽️",partly_sunny:"⛅️",passenger_ship:"🛳",passport_control:"🛂",pause_button:"⏸",peace_symbol:"☮️",peach:"🍑",peanuts:"🥜",pear:"🍐",pen:"🖊",pencil2:"✏️",penguin:"🐧",pensive:"😔",performing_arts:"🎭",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎️",pick:"⛏",pig:"🐷",pig2:"🐖",pig_nose:"🐽",pill:"💊",pineapple:"🍍",ping_pong:"🏓",pisces:"♓️",pizza:"🍕",place_of_worship:"🛐",plate_with_cutlery:"🍽",play_or_pause_button:"⏯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"☝️",point_up_2:"👆",police_car:"🚓",policewoman:"👮&zwj;♀️",poodle:"🐩",popcorn:"🍿",post_office:"🏣",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"👝",poultry_leg:"🍗",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎&zwj;♂️",pray:"🙏",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"⏮",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"❓",rabbit:"🐰",rabbit2:"🐇",racehorse:"🐎",racing_car:"🏎",radio:"📻",radio_button:"🔘",radioactive:"☢️",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"🏳️&zwj;🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋&zwj;♂️",ram:"🐏",ramen:"🍜",rat:"🐀",record_button:"⏺",recycle:"♻️",red_circle:"🔴",registered:"®️",relaxed:"☺️",relieved:"😌",reminder_ribbon:"🎗",repeat:"🔁",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"⏪",rhinoceros:"🦏",ribbon:"🎀",rice:"🍚",rice_ball:"🍙",rice_cracker:"🍘",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"💍",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"🐓",rose:"🌹",rosette:"🏵",rotating_light:"🚨",round_pushpin:"📍",rowing_man:"🚣",rowing_woman:"🚣&zwj;♀️",rugby_football:"🏉",running_man:"🏃",running_shirt_with_sash:"🎽",running_woman:"🏃&zwj;♀️",sa:"🈂️",sagittarius:"♐️",sake:"🍶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"🏫",school_satchel:"🎒",scissors:"✂️",scorpion:"🦂",scorpius:"♏️",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙️",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘️",shark:"🦈",shaved_ice:"🍧",sheep:"🐑",shell:"🐚",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"🛍",shopping_cart:"🛒",shower:"🚿",shrimp:"🦐",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"⛷",skull:"💀",skull_and_crossbones:"☠️",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"🙁",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"😏",smirk_cat:"😼",smoking:"🚬",snail:"🐌",snake:"🐍",sneezing_face:"🤧",snowboarder:"🏂",snowflake:"❄️",snowman:"⛄️",snowman_with_snow:"☃️",sob:"😭",soccer:"⚽️",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"♠️",spaghetti:"🍝",sparkle:"❇️",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"🏟",star:"⭐️",star2:"🌟",star_and_crescent:"☪️",star_of_david:"✡️",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"🍲",stop_button:"⏹",stop_sign:"🛑",stopwatch:"⏱",straight_ruler:"📏",strawberry:"🍓",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"😝",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀️",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"🏄",surfing_woman:"🏄&zwj;♀️",sushi:"🍣",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"🍠",swimming_man:"🏊",swimming_woman:"🏊&zwj;♀️",symbols:"🔣",synagogue:"🕍",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉️",taxi:"🚕",tea:"🍵",telephone_receiver:"📞",telescope:"🔭",tennis:"🎾",tent:"⛺️",thermometer:"🌡",thinking:"🤔",thought_balloon:"💭",ticket:"🎫",tickets:"🎟",tiger:"🐯",tiger2:"🐅",timer_clock:"⏲",tipping_hand_man:"💁&zwj;♂️",tired_face:"😫",tm:"™️",toilet:"🚽",tokyo_tower:"🗼",tomato:"🍅",tongue:"👅",top:"🔝",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"📐",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"🏆",tropical_drink:"🍹",tropical_fish:"🐠",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"🐢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"👭",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯️",u6708:"🈷️",u6709:"🈶",u6e80:"🈵",u7121:"🈚️",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔️",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌️",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"♍️",volcano:"🌋",volleyball:"🏐",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶&zwj;♀️",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"⚠️",wastebasket:"🗑",watch:"⌚️",water_buffalo:"🐃",watermelon:"🍉",wave:"👋",wavy_dash:"〰️",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"🏋️",weight_lifting_woman:"🏋️&zwj;♀️",whale:"🐳",whale2:"🐋",wheel_of_dharma:"☸️",wheelchair:"♿️",white_check_mark:"✅",white_circle:"⚪️",white_flag:"🏳️",white_flower:"💮",white_large_square:"⬜️",white_medium_small_square:"◽️",white_medium_square:"◻️",white_small_square:"▫️",white_square_button:"🔳",wilted_flower:"🥀",wind_chime:"🎐",wind_face:"🌬",wine_glass:"🍷",wink:"😉",wolf:"🐺",woman:"👩",woman_artist:"👩&zwj;🎨",woman_astronaut:"👩&zwj;🚀",woman_cartwheeling:"🤸&zwj;♀️",woman_cook:"👩&zwj;🍳",woman_facepalming:"🤦&zwj;♀️",woman_factory_worker:"👩&zwj;🏭",woman_farmer:"👩&zwj;🌾",woman_firefighter:"👩&zwj;🚒",woman_health_worker:"👩&zwj;⚕️",woman_judge:"👩&zwj;⚖️",woman_juggling:"🤹&zwj;♀️",woman_mechanic:"👩&zwj;🔧",woman_office_worker:"👩&zwj;💼",woman_pilot:"👩&zwj;✈️",woman_playing_handball:"🤾&zwj;♀️",woman_playing_water_polo:"🤽&zwj;♀️",woman_scientist:"👩&zwj;🔬",woman_shrugging:"🤷&zwj;♀️",woman_singer:"👩&zwj;🎤",woman_student:"👩&zwj;🎓",woman_teacher:"👩&zwj;🏫",woman_technologist:"👩&zwj;💻",woman_with_turban:"👳&zwj;♀️",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼&zwj;♀️",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"✍️",x:"❌",yellow_heart:"💛",yen:"💴",yin_yang:"☯️",yum:"😋",zap:"⚡️",zipper_mouth_face:"🤐",zzz:"💤",octocat:'<img width="20" height="20" align="absmiddle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAOwUlEQVR42uVbCVyO6RbPmn0sw9gZS0aZO4y5GTEUE2ObxjZjrbHEJVy3sWS5pkaWxjLEkCVDSbSgFLdESaWSLIVUSIi4kvb9f895vi/zbbR+yZ339/tbnu99n/ec/3Oe85xznufV0CjDBaAdwZqwnzCJ0FXjHV70/i8J5oQDhCFV8cJdq1atwqxZs+Ds7Iz4+HhqwgXCLELNKlK6G2Ej4e6lS5ewZcsWzJgxA+fOnWNZFqvzxT1v3boF/qcsBg0ahP3796OwsJAFWKYuIqjfPoS9cXFxWL58Obp06SInh5aWFr//jjoJWLlu3TolAorRuXNn7Ny5k4W4Spgj81xrgj5hLmED4RDhlNRygglBhADCSakpWxFMCHoETUJTwrYHDx7A1NT0je9nPHz4kN/fXl0EeI0aNeqtAjB69+4NPz8/FsSdlXvy5An8/f1hZ2cHCwsLGBsbY/To0cJy9PT0MGDAAAwePBhGRkbClNesWYODBw8iODgYOTk53M/d9evXo27duiW++8iRI3z/ZHURENOjR48ShSjGuHHjhHJ16tQp9TOKaNWqlZKpvw1MHluQOpSvk5eXh5YtW5ZbmarAvHnzmIBd6iCgXnZ2Npo1a1atCWAfwY5SHQTUKCoqQocOHao1AebmHBJgi7p8QBDP6epMwKFDvMDAWF0ELLS1ta3WBNy9e5cJMFIXAdvt7e2rNQHDhw9nAv5D+KKylV9y8+bNCi1pVYWZM2cyCfaVTcDdsqzH7xpBQRxcwqyylLdi5/K+KM/Q0dFhAqIri4Bn1T0AUgVpdmhYUeVHnD59+r1TnjF27Fgm4HhFCThoYmLyXhLQoEGD4mRKsyIE3OrZs+d7SQCDCyZcNSqv8k1evXoFTU3NUr+wzUcfYqRBf8yb/C2WzfoBFoTF08fBdMIITDD8CsP1+kL30x7Q6dYZH7drjfZ0f4fWLdG1Q1t81qMLBvTRwejB/TBl1BDMnzQGS2dMxKo5k7Fs9iSY/jAaBvR8Pc26pZaH02quLZSXgO6xsbGlelGnli1wZKcVMqN8gKcRwItrf+K/VB95doXaLwOJIVSzOU/+2Re5kV7IuuyJrIhTyLt6mmztLBBPNZLHoUAy9fE8UvJ8ikxfj8PwJPQErJeYlkquTZs2MQFLykuANgc/Jb2kn3Z3ZMaQUrmxwO1zyAo7gfRAJ6RfOIyMEFdkXj5F8BTK5lzxQv610yi8QcFatI8gQoCIK7x+hojwRnaE5H4JTiEj9Pjr/rJDqcZyn9b4ovu45LYbdWvXeqtsXMHiSlZ5CegRExPz1hd83PYj5POo0QinXyLFg48hnZTOiQ1Dzr1IZEaeQRoJn0HKZIR7lA2kfHrQUerXHTlx4ZL+rnjjFRGRGeYB5MUj2GnbW+XbuJFrp1heXgI6JCYmvvUFN1x3Aek3SWkapRAXMeJFGS8ge2Xfuog0toaykED3Mpk8+shOk+sv68Y50V9WuKewBKt5094o39atW/mRf5WXgIYZGRlo3Lixys4nj6A6Z1YMcqRCpwU4ouDlUyHk/QA/hNttR25Wlvh/ZthJUsil9ATQ/axkYbqEzDgfL0Ts/x35+aLyTES7IY36Q6w/+Q4/tP6wuUoZ9+7dy7ebVmQZjO/atavKzn32rAdeXkd6KCkXdAxZ13yFcLFnvPD73zrDVrsdTs6eggKSuSjjORHkUGoC0i86Iyc6QPQX7eqMnTodYNuzHU4vnosiaitMSUSavwMy6d3IvEUrzViVMrq5uXEX4ytCgL++vr5Sx7Vr1cIDX0dKkQJfj37Rs3jw1sBxkwlwGD4Ax3+ciN1faCHW76xQRFgAOcjSEMBkIe0x8nLzcez7kTg8Rh/uxuOxR/cTJISFSfq7eATpZCk8CAfXLVFJwIULXHnHoIoQYLtw4UKljps2aogXQcQuef/XAiMDKY+S4DhyEFwpDnCj9f+Afl8EbbWRTANaAdihlYoAMn8aZzyNuYODX/eD29TvRH/7v+qN8H27JdOAyWQfQQ74xPafVRLAPox9WUlK6hIGEgx4f00Kg2JcvHhRqeP6FIwknXemyen/2gLIIeC/CYk49M0AuE4xgtu0sThg8AUCN62TEuBdRgJo2Y+Kxh9D/k59SQiwH9QHobt3SAk4KSGA4oWjm1YqyVi8U6Soj4yOrHM/jTAyKVby/PnzIoNi8L+L4eXlpXoFcLcTgc1rAlISkJeXDxeK2A6P1hdTwI6mQPTJE+WbAlnJyE7PhNO3Q3BkrKGYWtxfHMkkmQLO0ilwA7+vXqAkn66urtBLUZ9iHfm30NBQaPAf165dA0d9vP2UlJSEp0+f4vHjx3j06JH4e+rUqUovcNmyGkiNEkLwklXsBG+ecMUOnfbYod1emG5uboFKJ8jPFVD0l0dBUHqoPDHpQeQEb0qc4FUHe3KAbYUT9JgzDbwOFL5MfN0fXkXhJ5PxSvLt2LFD1Ah5u4z1YJ14l4qnBe8v3rhxAzz4PAVG8nLHivIP0dHRiIiIQGRkpEgmrl69ClW1QBMjQ7LDW8hmU+RRI69ckJIkhL7jfRJBm62R+TJVYq6h0jhBRslsivqenT2MF/7OyI70VmkFhWnPJaS6OyPkt43IycqR9EfWlH7JDQUUTuNhCHR7Ke9YcRp/5coVoQPrcvnyZURFRYmBZlLS0kR8MVLD29sbnp6e8PHxQUBAgCgn8YO8E3z79m3BGKeVc+bMkXuBZt06SA12F/F5Go0gR4C8HBalPZMPXKL8lQKhPAqF+f97KXFyNx6HQsoPsshJ/kmAp2TKkJLISpXvjyxNhMYcDVLOEO+lPDi8B5mamipkZx1YF9YpJCRErAy+vr5CZ9ZdWABhDGEYYTBhAOFz3g4nfMJelNCbkNCpUye5F034mvxIPi1/FM+zQCw0k5B9O0iEr5kRXkqhMJOVf9NXIHjtT7hmaymSoBzKETimkAuFpaF1dkwI9RcmIYaXv3BJXoGCuyIgk5WpefPmKCgoYK46SmX/RKoL69Sfl0WuFEl1HlmWJXE5z6WmTZvKJxxmxkIQ3AuU5APk6NICj4hRT6eITTEEzqWk55HHPjz3cxJhNF5cxeNT9kj2cRDTQjEkzpDtjyyCic5l5fEA7uSHFEefR5pPsahrb2B9QkICFHeJ51HunkdLIg0VLY0BFKdLwllVHp4dHyvst3QuEiiju21vA/+VZkiluIKt4I3RIfWXQ4QgKUxkni47LJWUP3PmjHo2RxVI+CebmKJP6EiFDVurxUgmExe5PHlnPAkn8w4QqW62NCVmYopozid5H0CI9RKE21ggJeAYEeMnfitOnRn5XCfgeJ+VTosWQU8MOc6ZE0cqnUm4fv165SrPBVHCfMI4TowUfmOfsIcdJh92kBWmUcP6GDt8EDZbzIffH5tx3/ewSFjw5LKk0MEFEkZenDBjgew7Yiog5brkt+QrknvJmhIp4Apw/A1bVpjhG/0v5d7Vrl07bNu2TelUSqUoz8uI3Z49OEtBAy+TdP1CqKtwHzvQUxxgTJs2TeX5gdq1a0ObSmCjh+jB+NuvRamL1+3ls77HCip1rTSdJP5eNnMizKndjMLoH42G4bthX+FzHS3UVVEC69evH3799VeKMXJZrlWKclUGAZ5jxoxB02ZNsNlxH74aagBHZyex986HlVTczyGmI58h4CjL2toa48ePFxsUPEotWrQoc0GT0/C2bduiY8eO4ISMcxLeoOFYhS6qm2EpoZG65jmbv+dPSyRZlt5QfVjvtX19AOFNL+aDFNI4m0eFc9Ho5ORkaGtrl5kAVp6DMOk88efEjLe++ZhclZwHTJHEHbs4YOCmLj2645fdvwnTK42zoXtaEHwNDQ3LXdZm5yad3/2r+gQmDsRnIF5KAldX6zdsgG/GG8F44Vzcu3eP2y1K6GPr2rVrK1zbnz59Or/LoaoJCPZ4kCZsjw9GECL79OmDj9q2wb+320C3/5fgPQO6Vrzh+fpcDqxXr16lbHBwgkZXm6okYJr0ECMrX5vraiJ1lArEjrEnzWuOqemiYj9spGd2ee478XkiPsJakmJ83qA05/8qXNurJFLiunXrhpo1a6LxB02wyHIFZpovgOHwYfjZ0hK2lH5u2rwZ5suWYv5ycyUlmjRpgl69eimlrFy3kwuoyOvXr19frm3RokVMwPZ3TYC57E6xVq+e6KzVDSaL/oEp82Zh8IhhWLjGAp/p9oX5ujVKBNjY2MDV1VWuzd3dXaTesm2biUQuZ8u28elSPmKr8a4vdog8GnJpcT1N1KHUuBbt0jSgWuGbzJh3mVhh2TYHBwdxjFa2jVcZnvPVlQBOLXdZWlqW2ZFxNYYVlm07fPgwAgMD5dr4OD5HeHLFFxM+O42DGtXhIkFaMQlcUjIzM0P37t1Ro0YNpZPjPJcVK7SOjo5ybU5OTqIAo0gAh97VlgAZIj4l8Pn4WFaO64ocuXG6zJtDbMqySnC7IgF8uptLVrJtq1evFuWqak+A4j4i4TNpltiJ8LPiNFFFwNGjRyWFyfedAFUny/joekkEuLi4KK0CfykCeFnkiu1flgBeFtl3/D8SsMbKykpOifv37ysRcPz4cVHKUiSA8wwNdR9/VTMBSh9Y8S4Nf2qnSICiBbDzVCRg9uzZTMC+94kAv6FDh8opwRsVHPjItnl4eEDxHNLKlStFXV+2javQ/M1SpZe+1KA4L4G7WDG57fSm/OUbXiqG0ewAFYOeYcN4fwZhvLkp2y4tftrxcltdlf/w+fPn4qNGxTCYU2m6nrRu3VqunT/EoiuZvw6TTZHpyuNNmEaNGsndP3fu3OJAq1N1JOAHDmyKheVtNP4OkE2crULRAW7fvl20EyyLy24a8p+/7WISFixYIMLt4t82bNhQYjXqXREgPq3j74mlX3AmSL8E1eOPIBXnuVT5OsVZpuLnOMeOHeN7vifwiYhYzhC5IpwlOXj1QXWdBmy/XWU/X+UqMZfKBw4cKAobHPlJlZe9h6tOu+7cuSN2dg0MDMSSyZUpmXvaSD+crq/xvl0k9BTCRa7qEPq+5T4t6ffF52WVV+f1P6zyLG30bsU4AAAAAElFTkSuQmCC">',
-showdown:'<img width="20" height="20" align="absmiddle" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAECtaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzA2NyA3OS4xNTc3NDcsIDIwMTUvMDMvMzAtMjM6NDA6NDIgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICAgICAgICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgICAgICAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgICAgICAgICB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIKICAgICAgICAgICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPHhtcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTUtMDEtMTVUMjE6MDE6MTlaPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNy0xMC0yNFQxMzozMTozMCswMTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTctMTAtMjRUMTM6MzE6MzArMDE6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8cGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgICAgIDxyZGY6QmFnPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHBob3Rvc2hvcDpMYXllck5hbWU+UyAtPC9waG90b3Nob3A6TGF5ZXJOYW1lPgogICAgICAgICAgICAgICAgICA8cGhvdG9zaG9wOkxheWVyVGV4dD5TIC08L3Bob3Rvc2hvcDpMYXllclRleHQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpCYWc+CiAgICAgICAgIDwvcGhvdG9zaG9wOlRleHRMYXllcnM+CiAgICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2UvcG5nPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6N2NkMzQxNzctOWYyZi0yNDRiLWEyYjQtMzU1MzJkY2Y1MWJiPC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD5hZG9iZTpkb2NpZDpwaG90b3Nob3A6M2E1YzgxYmYtYjhiNy0xMWU3LTk0NDktYTQ2MzdlZjJkNjMzPC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06T3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTUtMDEtMTVUMjE6MDE6MTlaPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6ODZjNjBkMGQtOGY0Yy01ZTRlLWEwMjQtODI4ZWQyNTIwZDc3PC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE3LTEwLTI0VDEzOjMxOjMwKzAxOjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jb252ZXJ0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+ZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZzwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmRlcml2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnBhcmFtZXRlcnM+Y29udmVydGVkIGZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjdjZDM0MTc3LTlmMmYtMjQ0Yi1hMmI0LTM1NTMyZGNmNTFiYjwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNy0xMC0yNFQxMzozMTozMCswMTowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgPC9yZGY6U2VxPgogICAgICAgICA8L3htcE1NOkhpc3Rvcnk+CiAgICAgICAgIDx4bXBNTTpEZXJpdmVkRnJvbSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgIDxzdFJlZjppbnN0YW5jZUlEPnhtcC5paWQ6ODZjNjBkMGQtOGY0Yy01ZTRlLWEwMjQtODI4ZWQyNTIwZDc3PC9zdFJlZjppbnN0YW5jZUlEPgogICAgICAgICAgICA8c3RSZWY6ZG9jdW1lbnRJRD54bXAuZGlkOjYwQzVBRTY1RjY5Q0U0MTE5NDVBODU1RTNCQ0E3RUVCPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6NjBDNUFFNjVGNjlDRTQxMTk0NUE4NTVFM0JDQTdFRUI8L3N0UmVmOm9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPC94bXBNTTpEZXJpdmVkRnJvbT4KICAgICAgICAgPHRpZmY6T3JpZW50YXRpb24+MTwvdGlmZjpPcmllbnRhdGlvbj4KICAgICAgICAgPHRpZmY6WFJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOlhSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpZUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WVJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgICAgICAgIDxleGlmOkNvbG9yU3BhY2U+MTwvZXhpZjpDb2xvclNwYWNlPgogICAgICAgICA8ZXhpZjpQaXhlbFhEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjQ8L2V4aWY6UGl4ZWxZRGltZW5zaW9uPgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pse7bzcAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAA1JJREFUeNrsm1+OmlAUhz+aeS9dwZggJn1AnRUMO6jpBgZXULuC2hWUWUGZBTSxKyiuoA4mfUBMnB04K5g+9DihRBHlyh/lJLwIXLgf99xzzu9etZeXFy7Z3nDh1gBoAFy4XeVtQNO0zNcapmUDfUBPnFoBfhQGq6IBaHmjwD4Ahmk5wAD4kKG5J8CNwsAFaHe6DvA9cc0wCgOv8gDka3vA9RHNPgo0D7hNnJtGYWBXxgV2dH4MfMnRRA+Y1WIO2NJ5F/ikoKm3tYsChmkNFHW+fmHQMC1dfHaXPQP3wM1yMdc2B/AOGALTWobBmI1Shu0UGCwX83XyRBQGawHntTtdG5gUNfxVu4CTNqNv6/wWGL7kCc+1AmCYVisl3I2ydD4GYZUCs7IjoLXrxHIx9w9tLAqDCfBwDrXAY457x+cAoCfuwRGjYFUnAGk+PsjR7s8Dn1VeLWCYVlpDw+VivjVHSHt+u9PVJbzGzZXQWTkAkz0V31fATUaEsjVJlQBs4FeGcteLgzgbAALBA+4y3voAeJL8nA0AHfClnM1qm1HhnYUidCSE+KzvSSJUTwAxCOMcpfETMFYpfRUKIAbCFhC3OTJJJwqDWS0BxED0JZ4Pjix1P2+E0loCSMBwyK4S/xc1ojBwag8gMU84cvTKGgmlAYhngu1O9xAXuVE5J1QCQCz3bwHuHvdQui5QKQAxEO6eEKpsFCgTRSXkvdoxSlBMCxhJJbgrrbZRtHCiShN0pRB6PeQ3ckBw2K0oKXMBVYJIP+Nvh9qulFivGoBt1lLQxowT2ykBXCfnhZIglgYACWmqXQv+baioBYCeiCQHm+QEg1O7RhF7hO4OhSAhcJKSFU7qBGADwZeqMMuXn6TUBw8qlaMrirNb4LdhWlP+SWD+cjFfxTpuS2GUpik+o3jFSEkqbJiWn0P0OMSGqlWiOu0TvD+FRHZKAE+oW+cfRmEwqlsesJJEJs8y91QqP+9UL6lqEtz2gpuNEY5sm9sIHln2DRa2aFKGJtiXkZEMiWtgVvRKUSUFkSKt2S7fAGgAXLYpmQQXf36MUChTZdUa2u8/rkvPA6Tz30r4eH3ybcBS5gJ6SaNXb+aABkA1AMxKenclBZLW/He4cYEGwEXb3wEASelexk6LIIIAAAAASUVORK5CYII=">'},r.Converter=function(e){"use strict"
-function n(e,n){if(n=n||null,r.helper.isString(e)){if(e=r.helper.stdExtName(e),n=e,r.extensions[e])return console.warn("DEPRECATION WARNING: "+e+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),void function(e,n){"function"==typeof e&&(e=e(new r.Converter)),r.helper.isArray(e)||(e=[e])
-var i=t(e,n)
-if(!i.valid)throw Error(i.error)
-for(var o=0;o<e.length;++o)switch(e[o].type){case"lang":l.push(e[o])
-break
-case"output":h.push(e[o])
-break
-default:throw Error("Extension loader error: Type unrecognized!!!")}}(r.extensions[e],e)
-if(r.helper.isUndefined(o[e]))throw Error('Extension "'+e+'" could not be loaded. It was either not found or is not a valid extension.')
-e=o[e]}"function"==typeof e&&(e=e()),r.helper.isArray(e)||(e=[e])
-var s=t(e,n)
-if(!s.valid)throw Error(s.error)
-for(var a=0;a<e.length;++a){switch(e[a].type){case"lang":l.push(e[a])
-break
-case"output":h.push(e[a])}if(e[a].hasOwnProperty("listeners"))for(var u in e[a].listeners)e[a].listeners.hasOwnProperty(u)&&i(u,e[a].listeners[u])}}function i(e,t){if(!r.helper.isString(e))throw Error("Invalid argument in converter.listen() method: name must be a string, but "+typeof e+" given")
-if("function"!=typeof t)throw Error("Invalid argument in converter.listen() method: callback must be a function, but "+typeof t+" given")
-d.hasOwnProperty(e)||(d[e]=[]),d[e].push(t)}var c={},l=[],h=[],d={},p=a,f={parsed:{},raw:"",format:""}
-!function(){e=e||{}
-for(var t in s)s.hasOwnProperty(t)&&(c[t]=s[t])
-if("object"!=typeof e)throw Error("Converter expects the passed parameter to be an object, but "+typeof e+" was passed instead.")
-for(var i in e)e.hasOwnProperty(i)&&(c[i]=e[i])
-c.extensions&&r.helper.forEach(c.extensions,n)}(),this._dispatch=function(e,t,n,r){if(d.hasOwnProperty(e))for(var i=0;i<d[e].length;++i){var o=d[e][i](e,t,this,n,r)
-o&&void 0!==o&&(t=o)}return t},this.listen=function(e,t){return i(e,t),this},this.makeHtml=function(e){if(!e)return e
-var t={gHtmlBlocks:[],gHtmlMdBlocks:[],gHtmlSpans:[],gUrls:{},gTitles:{},gDimensions:{},gListLevel:0,hashLinkCounts:{},langExtensions:l,outputModifiers:h,converter:this,ghCodeBlocks:[],metadata:{parsed:{},raw:"",format:""}}
-return e=e.replace(/¨/g,"¨T"),e=e.replace(/\$/g,"¨D"),e=e.replace(/\r\n/g,"\n"),e=e.replace(/\r/g,"\n"),e=e.replace(/\u00A0/g," "),c.smartIndentationFix&&(e=function(e){var t=e.match(/^\s*/)[0].length,n=new RegExp("^\\s{0,"+t+"}","gm")
-return e.replace(n,"")}(e)),e="\n\n"+e+"\n\n",e=r.subParser("detab")(e,c,t),e=e.replace(/^[ \t]+$/gm,""),r.helper.forEach(l,function(n){e=r.subParser("runExtension")(n,e,c,t)}),e=r.subParser("metadata")(e,c,t),e=r.subParser("hashPreCodeTags")(e,c,t),e=r.subParser("githubCodeBlocks")(e,c,t),e=r.subParser("hashHTMLBlocks")(e,c,t),e=r.subParser("hashCodeTags")(e,c,t),e=r.subParser("stripLinkDefinitions")(e,c,t),e=r.subParser("blockGamut")(e,c,t),e=r.subParser("unhashHTMLSpans")(e,c,t),e=r.subParser("unescapeSpecialChars")(e,c,t),e=e.replace(/¨D/g,"$$"),e=e.replace(/¨T/g,"¨"),e=r.subParser("completeHTMLDocument")(e,c,t),r.helper.forEach(h,function(n){e=r.subParser("runExtension")(n,e,c,t)}),f=t.metadata,e},this.setOption=function(e,t){c[e]=t},this.getOption=function(e){return c[e]},this.getOptions=function(){return c},this.addExtension=function(e,t){n(e,t=t||null)},this.useExtension=function(e){n(e)},this.setFlavor=function(e){if(!u.hasOwnProperty(e))throw Error(e+" flavor was not found")
-var t=u[e]
-p=e
-for(var n in t)t.hasOwnProperty(n)&&(c[n]=t[n])},this.getFlavor=function(){return p},this.removeExtension=function(e){r.helper.isArray(e)||(e=[e])
-for(var t=0;t<e.length;++t){for(var n=e[t],i=0;i<l.length;++i)l[i]===n&&l[i].splice(i,1)
-for(;0<h.length;++i)h[0]===n&&h[0].splice(i,1)}},this.getAllExtensions=function(){return{language:l,output:h}},this.getMetadata=function(e){return e?f.raw:f.parsed},this.getMetadataFormat=function(){return f.format},this._setMetadataPair=function(e,t){f.parsed[e]=t},this._setMetadataFormat=function(e){f.format=e},this._setMetadataRaw=function(e){f.raw=e}},r.subParser("anchors",function(e,t,n){"use strict"
-var i=function(e,i,o,s,a,u,c){if(r.helper.isUndefined(c)&&(c=""),o=o.toLowerCase(),e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)>-1)s=""
-else if(!s){if(o||(o=i.toLowerCase().replace(/ ?\n/g," ")),s="#"+o,r.helper.isUndefined(n.gUrls[o]))return e
-s=n.gUrls[o],r.helper.isUndefined(n.gTitles[o])||(c=n.gTitles[o])}var l='<a href="'+(s=s.replace(r.helper.regexes.asteriskDashAndColon,r.helper.escapeCharactersCallback))+'"'
-return""!==c&&null!==c&&(l+=' title="'+(c=(c=c.replace(/"/g,"&quot;")).replace(r.helper.regexes.asteriskDashAndColon,r.helper.escapeCharactersCallback))+'"'),t.openLinksInNewWindow&&!/^#/.test(s)&&(l+=' target="¨E95Eblank"'),l+=">"+i+"</a>"}
-return e=(e=n.converter._dispatch("anchors.before",e,t,n)).replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,i),e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,i),e=e.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,i),e=e.replace(/\[([^\[\]]+)]()()()()()/g,i),t.ghMentions&&(e=e.replace(/(^|\s)(\\)?(@([a-z\d\-]+))(?=[.!?;,[\]()]|\s|$)/gim,function(e,n,i,o,s){if("\\"===i)return n+o
-if(!r.helper.isString(t.ghMentionsLink))throw new Error("ghMentionsLink option must be a string")
-var a=t.ghMentionsLink.replace(/\{u}/g,s),u=""
-return t.openLinksInNewWindow&&(u=' target="¨E95Eblank"'),n+'<a href="'+a+'"'+u+">"+o+"</a>"})),e=n.converter._dispatch("anchors.after",e,t,n)})
-var l=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,h=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,d=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,p=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-\/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gim,f=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,g=function(e){"use strict"
-return function(t,n,i,o,s,a,u){var c=i=i.replace(r.helper.regexes.asteriskDashAndColon,r.helper.escapeCharactersCallback),l="",h="",d=n||"",p=u||""
-return/^www\./i.test(i)&&(i=i.replace(/^www\./i,"http://www.")),e.excludeTrailingPunctuationFromURLs&&a&&(l=a),e.openLinksInNewWindow&&(h=' target="¨E95Eblank"'),d+'<a href="'+i+'"'+h+">"+c+"</a>"+l+p}},m=function(e,t){"use strict"
-return function(n,i,o){var s="mailto:"
-return i=i||"",o=r.subParser("unescapeSpecialChars")(o,e,t),e.encodeEmails?(s=r.helper.encodeEmailAddress(s+o),o=r.helper.encodeEmailAddress(o)):s+=o,i+'<a href="'+s+'">'+o+"</a>"}}
-r.subParser("autoLinks",function(e,t,n){"use strict"
-return e=n.converter._dispatch("autoLinks.before",e,t,n),e=e.replace(d,g(t)),e=e.replace(f,m(t,n)),e=n.converter._dispatch("autoLinks.after",e,t,n)}),r.subParser("simplifiedAutoLinks",function(e,t,n){"use strict"
-return t.simplifiedAutoLink?(e=n.converter._dispatch("simplifiedAutoLinks.before",e,t,n),e=t.excludeTrailingPunctuationFromURLs?e.replace(h,g(t)):e.replace(l,g(t)),e=e.replace(p,m(t,n)),e=n.converter._dispatch("simplifiedAutoLinks.after",e,t,n)):e}),r.subParser("blockGamut",function(e,t,n){"use strict"
-return e=n.converter._dispatch("blockGamut.before",e,t,n),e=r.subParser("blockQuotes")(e,t,n),e=r.subParser("headers")(e,t,n),e=r.subParser("horizontalRule")(e,t,n),e=r.subParser("lists")(e,t,n),e=r.subParser("codeBlocks")(e,t,n),e=r.subParser("tables")(e,t,n),e=r.subParser("hashHTMLBlocks")(e,t,n),e=r.subParser("paragraphs")(e,t,n),e=n.converter._dispatch("blockGamut.after",e,t,n)}),r.subParser("blockQuotes",function(e,t,n){"use strict"
-e=n.converter._dispatch("blockQuotes.before",e,t,n),e+="\n\n"
-var i=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm
-return t.splitAdjacentBlockquotes&&(i=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),e=e.replace(i,function(e){return e=e.replace(/^[ \t]*>[ \t]?/gm,""),e=e.replace(/¨0/g,""),e=e.replace(/^[ \t]+$/gm,""),e=r.subParser("githubCodeBlocks")(e,t,n),e=r.subParser("blockGamut")(e,t,n),e=e.replace(/(^|\n)/g,"$1 "),e=e.replace(/(\s*<pre>[^\r]+?<\/pre>)/gm,function(e,t){var n=t
-return n=n.replace(/^ /gm,"¨0"),n=n.replace(/¨0/g,"")}),r.subParser("hashBlock")("<blockquote>\n"+e+"\n</blockquote>",t,n)}),e=n.converter._dispatch("blockQuotes.after",e,t,n)}),r.subParser("codeBlocks",function(e,t,n){"use strict"
-return e=n.converter._dispatch("codeBlocks.before",e,t,n),e=(e+="¨0").replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g,function(e,i,o){var s=i,a=o,u="\n"
-return s=r.subParser("outdent")(s,t,n),s=r.subParser("encodeCode")(s,t,n),s=r.subParser("detab")(s,t,n),s=s.replace(/^\n+/g,""),s=s.replace(/\n+$/g,""),t.omitExtraWLInCodeBlocks&&(u=""),s="<pre><code>"+s+u+"</code></pre>",r.subParser("hashBlock")(s,t,n)+a}),e=e.replace(/¨0/,""),e=n.converter._dispatch("codeBlocks.after",e,t,n)}),r.subParser("codeSpans",function(e,t,n){"use strict"
-return void 0===(e=n.converter._dispatch("codeSpans.before",e,t,n))&&(e=""),e=e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(e,i,o,s){var a=s
-return a=a.replace(/^([ \t]*)/g,""),a=a.replace(/[ \t]*$/g,""),a=r.subParser("encodeCode")(a,t,n),a=i+"<code>"+a+"</code>",a=r.subParser("hashHTMLSpans")(a,t,n)}),e=n.converter._dispatch("codeSpans.after",e,t,n)}),r.subParser("completeHTMLDocument",function(e,t,n){"use strict"
-if(!t.completeHTMLDocument)return e
-e=n.converter._dispatch("completeHTMLDocument.before",e,t,n)
-var r="html",i="<!DOCTYPE HTML>\n",o="",s='<meta charset="utf-8">\n',a="",u=""
-void 0!==n.metadata.parsed.doctype&&(i="<!DOCTYPE "+n.metadata.parsed.doctype+">\n","html"!==(r=n.metadata.parsed.doctype.toString().toLowerCase())&&"html5"!==r||(s='<meta charset="utf-8">'))
-for(var c in n.metadata.parsed)if(n.metadata.parsed.hasOwnProperty(c))switch(c.toLowerCase()){case"doctype":break
-case"title":o="<title>"+n.metadata.parsed.title+"</title>\n"
-break
-case"charset":s="html"===r||"html5"===r?'<meta charset="'+n.metadata.parsed.charset+'">\n':'<meta name="charset" content="'+n.metadata.parsed.charset+'">\n'
-break
-case"language":case"lang":a=' lang="'+n.metadata.parsed[c]+'"',u+='<meta name="'+c+'" content="'+n.metadata.parsed[c]+'">\n'
-break
-default:u+='<meta name="'+c+'" content="'+n.metadata.parsed[c]+'">\n'}return e=i+"<html"+a+">\n<head>\n"+o+s+u+"</head>\n<body>\n"+e.trim()+"\n</body>\n</html>",e=n.converter._dispatch("completeHTMLDocument.after",e,t,n)}),r.subParser("detab",function(e,t,n){"use strict"
-return e=n.converter._dispatch("detab.before",e,t,n),e=e.replace(/\t(?=\t)/g," "),e=e.replace(/\t/g,"¨A¨B"),e=e.replace(/¨B(.+?)¨A/g,function(e,t){for(var n=t,r=4-n.length%4,i=0;i<r;i++)n+=" "
-return n}),e=e.replace(/¨A/g," "),e=e.replace(/¨B/g,""),e=n.converter._dispatch("detab.after",e,t,n)}),r.subParser("ellipsis",function(e,t,n){"use strict"
-return e=n.converter._dispatch("ellipsis.before",e,t,n),e=e.replace(/\.\.\./g,"…"),e=n.converter._dispatch("ellipsis.after",e,t,n)}),r.subParser("emoji",function(e,t,n){"use strict"
-return t.emoji?(e=(e=n.converter._dispatch("emoji.before",e,t,n)).replace(/:([\S]+?):/g,function(e,t){return r.helper.emojis.hasOwnProperty(t)?r.helper.emojis[t]:e}),e=n.converter._dispatch("emoji.after",e,t,n)):e}),r.subParser("encodeAmpsAndAngles",function(e,t,n){"use strict"
-return e=n.converter._dispatch("encodeAmpsAndAngles.before",e,t,n),e=e.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&amp;"),e=e.replace(/<(?![a-z\/?$!])/gi,"&lt;"),e=e.replace(/</g,"&lt;"),e=e.replace(/>/g,"&gt;"),e=n.converter._dispatch("encodeAmpsAndAngles.after",e,t,n)}),r.subParser("encodeBackslashEscapes",function(e,t,n){"use strict"
-return e=n.converter._dispatch("encodeBackslashEscapes.before",e,t,n),e=e.replace(/\\(\\)/g,r.helper.escapeCharactersCallback),e=e.replace(/\\([`*_{}\[\]()>#+.!~=|-])/g,r.helper.escapeCharactersCallback),e=n.converter._dispatch("encodeBackslashEscapes.after",e,t,n)}),r.subParser("encodeCode",function(e,t,n){"use strict"
-return e=n.converter._dispatch("encodeCode.before",e,t,n),e=e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/([*_{}\[\]\\=~-])/g,r.helper.escapeCharactersCallback),e=n.converter._dispatch("encodeCode.after",e,t,n)}),r.subParser("escapeSpecialCharsWithinTagAttributes",function(e,t,n){"use strict"
-return e=(e=n.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",e,t,n)).replace(/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,function(e){return e.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,r.helper.escapeCharactersCallback)}),e=e.replace(/<!(--(?:(?:[^>-]|-[^>])(?:[^-]|-[^-])*)--)>/gi,function(e){return e.replace(/([\\`*_~=|])/g,r.helper.escapeCharactersCallback)}),e=n.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",e,t,n)}),r.subParser("githubCodeBlocks",function(e,t,n){"use strict"
-return t.ghCodeBlocks?(e=n.converter._dispatch("githubCodeBlocks.before",e,t,n),e+="¨0",e=e.replace(/(?:^|\n)(```+|~~~+)([^\s`~]*)\n([\s\S]*?)\n\1/g,function(e,i,o,s){var a=t.omitExtraWLInCodeBlocks?"":"\n"
-return s=r.subParser("encodeCode")(s,t,n),s=r.subParser("detab")(s,t,n),s=s.replace(/^\n+/g,""),s=s.replace(/\n+$/g,""),s="<pre><code"+(o?' class="'+o+" language-"+o+'"':"")+">"+s+a+"</code></pre>",s=r.subParser("hashBlock")(s,t,n),"\n\n¨G"+(n.ghCodeBlocks.push({text:e,codeblock:s})-1)+"G\n\n"}),e=e.replace(/¨0/,""),n.converter._dispatch("githubCodeBlocks.after",e,t,n)):e}),r.subParser("hashBlock",function(e,t,n){"use strict"
-return e=n.converter._dispatch("hashBlock.before",e,t,n),e=e.replace(/(^\n+|\n+$)/g,""),e="\n\n¨K"+(n.gHtmlBlocks.push(e)-1)+"K\n\n",e=n.converter._dispatch("hashBlock.after",e,t,n)}),r.subParser("hashCodeTags",function(e,t,n){"use strict"
-return e=n.converter._dispatch("hashCodeTags.before",e,t,n),e=r.helper.replaceRecursiveRegExp(e,function(e,i,o,s){var a=o+r.subParser("encodeCode")(i,t,n)+s
-return"¨C"+(n.gHtmlSpans.push(a)-1)+"C"},"<code\\b[^>]*>","</code>","gim"),e=n.converter._dispatch("hashCodeTags.after",e,t,n)}),r.subParser("hashElement",function(e,t,n){"use strict"
-return function(e,t){var r=t
-return r=r.replace(/\n\n/g,"\n"),r=r.replace(/^\n/,""),r=r.replace(/\n+$/g,""),r="\n\n¨K"+(n.gHtmlBlocks.push(r)-1)+"K\n\n"}}),r.subParser("hashHTMLBlocks",function(e,t,n){"use strict"
-e=n.converter._dispatch("hashHTMLBlocks.before",e,t,n)
-var i=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],o=function(e,t,r,i){var o=e
-return-1!==r.search(/\bmarkdown\b/)&&(o=r+n.converter.makeHtml(t)+i),"\n\n¨K"+(n.gHtmlBlocks.push(o)-1)+"K\n\n"}
-t.backslashEscapesHTMLTags&&(e=e.replace(/\\<(\/?[^>]+?)>/g,function(e,t){return"&lt;"+t+"&gt;"}))
-for(var s=0;s<i.length;++s)for(var a,u=new RegExp("^ {0,3}(<"+i[s]+"\\b[^>]*>)","im"),c="<"+i[s]+"\\b[^>]*>",l="</"+i[s]+">";-1!==(a=r.helper.regexIndexOf(e,u));){var h=r.helper.splitAtIndex(e,a),d=r.helper.replaceRecursiveRegExp(h[1],o,c,l,"im")
-if(d===h[1])break
-e=h[0].concat(d)}return e=e.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,r.subParser("hashElement")(e,t,n)),e=r.helper.replaceRecursiveRegExp(e,function(e){return"\n\n¨K"+(n.gHtmlBlocks.push(e)-1)+"K\n\n"},"^ {0,3}\x3c!--","--\x3e","gm"),e=e.replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,r.subParser("hashElement")(e,t,n)),e=n.converter._dispatch("hashHTMLBlocks.after",e,t,n)}),r.subParser("hashHTMLSpans",function(e,t,n){"use strict"
-function r(e){return"¨C"+(n.gHtmlSpans.push(e)-1)+"C"}return e=n.converter._dispatch("hashHTMLSpans.before",e,t,n),e=e.replace(/<[^>]+?\/>/gi,function(e){return r(e)}),e=e.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,function(e){return r(e)}),e=e.replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,function(e){return r(e)}),e=e.replace(/<[^>]+?>/gi,function(e){return r(e)}),e=n.converter._dispatch("hashHTMLSpans.after",e,t,n)}),r.subParser("unhashHTMLSpans",function(e,t,n){"use strict"
-e=n.converter._dispatch("unhashHTMLSpans.before",e,t,n)
-for(var r=0;r<n.gHtmlSpans.length;++r){for(var i=n.gHtmlSpans[r],o=0;/¨C(\d+)C/.test(i);){var s=RegExp.$1
-if(i=i.replace("¨C"+s+"C",n.gHtmlSpans[s]),10===o){console.error("maximum nesting of 10 spans reached!!!")
-break}++o}e=e.replace("¨C"+r+"C",i)}return e=n.converter._dispatch("unhashHTMLSpans.after",e,t,n)}),r.subParser("hashPreCodeTags",function(e,t,n){"use strict"
-return e=n.converter._dispatch("hashPreCodeTags.before",e,t,n),e=r.helper.replaceRecursiveRegExp(e,function(e,i,o,s){var a=o+r.subParser("encodeCode")(i,t,n)+s
-return"\n\n¨G"+(n.ghCodeBlocks.push({text:e,codeblock:a})-1)+"G\n\n"},"^ {0,3}<pre\\b[^>]*>\\s*<code\\b[^>]*>","^ {0,3}</code>\\s*</pre>","gim"),e=n.converter._dispatch("hashPreCodeTags.after",e,t,n)}),r.subParser("headers",function(e,t,n){"use strict"
-function i(e){var i,o
-if(t.customizedHeaderId){var s=e.match(/\{([^{]+?)}\s*$/)
-s&&s[1]&&(e=s[1])}return i=e,o=r.helper.isString(t.prefixHeaderId)?t.prefixHeaderId:!0===t.prefixHeaderId?"section-":"",t.rawPrefixHeaderId||(i=o+i),i=t.ghCompatibleHeaderId?i.replace(/ /g,"-").replace(/&amp;/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():t.rawHeaderId?i.replace(/ /g,"-").replace(/&amp;/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():i.replace(/[^\w]/g,"").toLowerCase(),t.rawPrefixHeaderId&&(i=o+i),n.hashLinkCounts[i]?i=i+"-"+n.hashLinkCounts[i]++:n.hashLinkCounts[i]=1,i}e=n.converter._dispatch("headers.before",e,t,n)
-var o=isNaN(parseInt(t.headerLevelStart))?1:parseInt(t.headerLevelStart),s=t.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,a=t.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm
-e=(e=e.replace(s,function(e,s){var a=r.subParser("spanGamut")(s,t,n),u=t.noHeaderId?"":' id="'+i(s)+'"',c="<h"+o+u+">"+a+"</h"+o+">"
-return r.subParser("hashBlock")(c,t,n)})).replace(a,function(e,s){var a=r.subParser("spanGamut")(s,t,n),u=t.noHeaderId?"":' id="'+i(s)+'"',c=o+1,l="<h"+c+u+">"+a+"</h"+c+">"
-return r.subParser("hashBlock")(l,t,n)})
-var u=t.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm
-return e=e.replace(u,function(e,s,a){var u=a
-t.customizedHeaderId&&(u=a.replace(/\s?\{([^{]+?)}\s*$/,""))
-var c=r.subParser("spanGamut")(u,t,n),l=t.noHeaderId?"":' id="'+i(a)+'"',h=o-1+s.length,d="<h"+h+l+">"+c+"</h"+h+">"
-return r.subParser("hashBlock")(d,t,n)}),e=n.converter._dispatch("headers.after",e,t,n)}),r.subParser("horizontalRule",function(e,t,n){"use strict"
-e=n.converter._dispatch("horizontalRule.before",e,t,n)
-var i=r.subParser("hashBlock")("<hr />",t,n)
-return e=e.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,i),e=e.replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,i),e=e.replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,i),e=n.converter._dispatch("horizontalRule.after",e,t,n)}),r.subParser("images",function(e,t,n){"use strict"
-function i(e,t,i,o,s,a,u,c){var l=n.gUrls,h=n.gTitles,d=n.gDimensions
-if(i=i.toLowerCase(),c||(c=""),e.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)>-1)o=""
-else if(""===o||null===o){if(""!==i&&null!==i||(i=t.toLowerCase().replace(/ ?\n/g," ")),o="#"+i,r.helper.isUndefined(l[i]))return e
-o=l[i],r.helper.isUndefined(h[i])||(c=h[i]),r.helper.isUndefined(d[i])||(s=d[i].width,a=d[i].height)}t=t.replace(/"/g,"&quot;").replace(r.helper.regexes.asteriskDashAndColon,r.helper.escapeCharactersCallback)
-var p='<img src="'+(o=o.replace(r.helper.regexes.asteriskDashAndColon,r.helper.escapeCharactersCallback))+'" alt="'+t+'"'
-return c&&(p+=' title="'+(c=c.replace(/"/g,"&quot;").replace(r.helper.regexes.asteriskDashAndColon,r.helper.escapeCharactersCallback))+'"'),s&&a&&(p+=' width="'+(s="*"===s?"auto":s)+'"',p+=' height="'+(a="*"===a?"auto":a)+'"'),p+=" />"}return e=(e=n.converter._dispatch("images.before",e,t,n)).replace(/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,i),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<?(data:.+?\/.+?;base64,[A-Za-z0-9+\/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,function(e,t,n,r,o,s,a,u){return r=r.replace(/\s/g,""),i(e,t,n,r,o,s,0,u)}),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,i),e=e.replace(/!\[([^\]]*?)][ \t]*()\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,i),e=e.replace(/!\[([^\[\]]+)]()()()()()/g,i),e=n.converter._dispatch("images.after",e,t,n)}),r.subParser("italicsAndBold",function(e,t,n){"use strict"
-function r(e,t,n){return t+e+n}return e=n.converter._dispatch("italicsAndBold.before",e,t,n),e=t.literalMidWordUnderscores?(e=(e=e.replace(/\b___(\S[\s\S]*)___\b/g,function(e,t){return r(t,"<strong><em>","</em></strong>")})).replace(/\b__(\S[\s\S]*)__\b/g,function(e,t){return r(t,"<strong>","</strong>")})).replace(/\b_(\S[\s\S]*?)_\b/g,function(e,t){return r(t,"<em>","</em>")}):(e=(e=e.replace(/___(\S[\s\S]*?)___/g,function(e,t){return/\S$/.test(t)?r(t,"<strong><em>","</em></strong>"):e})).replace(/__(\S[\s\S]*?)__/g,function(e,t){return/\S$/.test(t)?r(t,"<strong>","</strong>"):e})).replace(/_([^\s_][\s\S]*?)_/g,function(e,t){return/\S$/.test(t)?r(t,"<em>","</em>"):e}),e=t.literalMidWordAsterisks?(e=(e=e.replace(/([^*]|^)\B\*\*\*(\S[\s\S]+?)\*\*\*\B(?!\*)/g,function(e,t,n){return r(n,t+"<strong><em>","</em></strong>")})).replace(/([^*]|^)\B\*\*(\S[\s\S]+?)\*\*\B(?!\*)/g,function(e,t,n){return r(n,t+"<strong>","</strong>")})).replace(/([^*]|^)\B\*(\S[\s\S]+?)\*\B(?!\*)/g,function(e,t,n){return r(n,t+"<em>","</em>")}):(e=(e=e.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,function(e,t){return/\S$/.test(t)?r(t,"<strong><em>","</em></strong>"):e})).replace(/\*\*(\S[\s\S]*?)\*\*/g,function(e,t){return/\S$/.test(t)?r(t,"<strong>","</strong>"):e})).replace(/\*([^\s*][\s\S]*?)\*/g,function(e,t){return/\S$/.test(t)?r(t,"<em>","</em>"):e}),e=n.converter._dispatch("italicsAndBold.after",e,t,n)}),r.subParser("lists",function(e,t,n){"use strict"
-function i(e,i){n.gListLevel++,e=e.replace(/\n{2,}$/,"\n")
-var o=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,s=/\n[ \t]*\n(?!¨0)/.test(e+="¨0")
-return t.disableForced4SpacesIndentedSublists&&(o=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),e=e.replace(o,function(e,i,o,a,u,c,l){l=l&&""!==l.trim()
-var h=r.subParser("outdent")(u,t,n),d=""
-return c&&t.tasklists&&(d=' class="task-list-item" style="list-style-type: none;"',h=h.replace(/^[ \t]*\[(x|X| )?]/m,function(){var e='<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"'
-return l&&(e+=" checked"),e+=">"})),h=h.replace(/^([-*+]|\d\.)[ \t]+[\S\n ]*/g,function(e){return"¨A"+e}),i||h.search(/\n{2,}/)>-1?(h=r.subParser("githubCodeBlocks")(h,t,n),h=r.subParser("blockGamut")(h,t,n)):(h=(h=r.subParser("lists")(h,t,n)).replace(/\n$/,""),h=(h=r.subParser("hashHTMLBlocks")(h,t,n)).replace(/\n\n+/g,"\n\n"),h=s?r.subParser("paragraphs")(h,t,n):r.subParser("spanGamut")(h,t,n)),h=h.replace("¨A",""),h="<li"+d+">"+h+"</li>\n"}),e=e.replace(/¨0/g,""),n.gListLevel--,i&&(e=e.replace(/\s+$/,"")),e}function o(e,t){if("ol"===t){var n=e.match(/^ *(\d+)\./)
-if(n&&"1"!==n[1])return' start="'+n[1]+'"'}return""}function s(e,n,r){var s=t.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,a=t.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,u="ul"===n?s:a,c=""
-if(-1!==e.search(u))!function t(l){var h=l.search(u),d=o(e,n);-1!==h?(c+="\n\n<"+n+d+">\n"+i(l.slice(0,h),!!r)+"</"+n+">\n",u="ul"==(n="ul"===n?"ol":"ul")?s:a,t(l.slice(h))):c+="\n\n<"+n+d+">\n"+i(l,!!r)+"</"+n+">\n"}(e)
-else{var l=o(e,n)
-c="\n\n<"+n+l+">\n"+i(e,!!r)+"</"+n+">\n"}return c}return e=n.converter._dispatch("lists.before",e,t,n),e+="¨0",e=n.gListLevel?e.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(e,t,n){return s(t,n.search(/[*+-]/g)>-1?"ul":"ol",!0)}):e.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(e,t,n,r){return s(n,r.search(/[*+-]/g)>-1?"ul":"ol",!1)}),e=e.replace(/¨0/,""),e=n.converter._dispatch("lists.after",e,t,n)}),r.subParser("metadata",function(e,t,n){"use strict"
-function r(e){n.metadata.raw=e,(e=(e=e.replace(/&/g,"&amp;").replace(/"/g,"&quot;")).replace(/\n {4}/g," ")).replace(/^([\S ]+): +([\s\S]+?)$/gm,function(e,t,r){return n.metadata.parsed[t]=r,""})}return t.metadata?(e=n.converter._dispatch("metadata.before",e,t,n),e=e.replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,function(e,t,n){return r(n),"¨M"}),e=e.replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,function(e,t,i){return t&&(n.metadata.format=t),r(i),"¨M"}),e=e.replace(/¨M/g,""),e=n.converter._dispatch("metadata.after",e,t,n)):e}),r.subParser("outdent",function(e,t,n){"use strict"
-return e=n.converter._dispatch("outdent.before",e,t,n),e=e.replace(/^(\t|[ ]{1,4})/gm,"¨0"),e=e.replace(/¨0/g,""),e=n.converter._dispatch("outdent.after",e,t,n)}),r.subParser("paragraphs",function(e,t,n){"use strict"
-for(var i=(e=(e=(e=n.converter._dispatch("paragraphs.before",e,t,n)).replace(/^\n+/g,"")).replace(/\n+$/g,"")).split(/\n{2,}/g),o=[],s=i.length,a=0;a<s;a++){var u=i[a]
-u.search(/¨(K|G)(\d+)\1/g)>=0?o.push(u):u.search(/\S/)>=0&&(u=(u=r.subParser("spanGamut")(u,t,n)).replace(/^([ \t]*)/g,"<p>"),u+="</p>",o.push(u))}for(s=o.length,a=0;a<s;a++){for(var c="",l=o[a],h=!1;/¨(K|G)(\d+)\1/.test(l);){var d=RegExp.$1,p=RegExp.$2
-c=(c="K"===d?n.gHtmlBlocks[p]:h?r.subParser("encodeCode")(n.ghCodeBlocks[p].text,t,n):n.ghCodeBlocks[p].codeblock).replace(/\$/g,"$$$$"),l=l.replace(/(\n\n)?¨(K|G)\d+\2(\n\n)?/,c),/^<pre\b[^>]*>\s*<code\b[^>]*>/.test(l)&&(h=!0)}o[a]=l}return e=o.join("\n"),e=e.replace(/^\n+/g,""),e=e.replace(/\n+$/g,""),n.converter._dispatch("paragraphs.after",e,t,n)}),r.subParser("runExtension",function(e,t,n,r){"use strict"
-if(e.filter)t=e.filter(t,r.converter,n)
-else if(e.regex){var i=e.regex
-i instanceof RegExp||(i=new RegExp(i,"g")),t=t.replace(i,e.replace)}return t}),r.subParser("spanGamut",function(e,t,n){"use strict"
-return e=n.converter._dispatch("spanGamut.before",e,t,n),e=r.subParser("codeSpans")(e,t,n),e=r.subParser("escapeSpecialCharsWithinTagAttributes")(e,t,n),e=r.subParser("encodeBackslashEscapes")(e,t,n),e=r.subParser("images")(e,t,n),e=r.subParser("anchors")(e,t,n),e=r.subParser("autoLinks")(e,t,n),e=r.subParser("simplifiedAutoLinks")(e,t,n),e=r.subParser("emoji")(e,t,n),e=r.subParser("underline")(e,t,n),e=r.subParser("italicsAndBold")(e,t,n),e=r.subParser("strikethrough")(e,t,n),e=r.subParser("ellipsis")(e,t,n),e=r.subParser("hashHTMLSpans")(e,t,n),e=r.subParser("encodeAmpsAndAngles")(e,t,n),t.simpleLineBreaks?/\n\n¨K/.test(e)||(e=e.replace(/\n+/g,"<br />\n")):e=e.replace(/ +\n/g,"<br />\n"),e=n.converter._dispatch("spanGamut.after",e,t,n)}),r.subParser("strikethrough",function(e,t,n){"use strict"
-return t.strikethrough&&(e=(e=n.converter._dispatch("strikethrough.before",e,t,n)).replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,function(e,i){return function(e){return t.simplifiedAutoLink&&(e=r.subParser("simplifiedAutoLinks")(e,t,n)),"<del>"+e+"</del>"}(i)}),e=n.converter._dispatch("strikethrough.after",e,t,n)),e}),r.subParser("stripLinkDefinitions",function(e,t,n){"use strict"
-var i=function(e,i,o,s,a,u,c){return i=i.toLowerCase(),o.match(/^data:.+?\/.+?;base64,/)?n.gUrls[i]=o.replace(/\s/g,""):n.gUrls[i]=r.subParser("encodeAmpsAndAngles")(o,t,n),u?u+c:(c&&(n.gTitles[i]=c.replace(/"|'/g,"&quot;")),t.parseImgDimensions&&s&&a&&(n.gDimensions[i]={width:s,height:a}),"")}
-return e=(e+="¨0").replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+\/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm,i),e=e.replace(/^ {0,3}\[(.+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,i),e=e.replace(/¨0/,"")}),r.subParser("tables",function(e,t,n){"use strict"
-function i(e){return/^:[ \t]*--*$/.test(e)?' style="text-align:left;"':/^--*[ \t]*:[ \t]*$/.test(e)?' style="text-align:right;"':/^:[ \t]*--*[ \t]*:$/.test(e)?' style="text-align:center;"':""}function o(e,i){var o=""
-return e=e.trim(),(t.tablesHeaderId||t.tableHeaderId)&&(o=' id="'+e.replace(/ /g,"_").toLowerCase()+'"'),e=r.subParser("spanGamut")(e,t,n),"<th"+o+i+">"+e+"</th>\n"}function s(e,i){return"<td"+i+">"+r.subParser("spanGamut")(e,t,n)+"</td>\n"}function a(e){var a,u=e.split("\n")
-for(a=0;a<u.length;++a)/^ {0,3}\|/.test(u[a])&&(u[a]=u[a].replace(/^ {0,3}\|/,"")),/\|[ \t]*$/.test(u[a])&&(u[a]=u[a].replace(/\|[ \t]*$/,"")),u[a]=r.subParser("codeSpans")(u[a],t,n)
-var c=u[0].split("|").map(function(e){return e.trim()}),l=u[1].split("|").map(function(e){return e.trim()}),h=[],d=[],p=[],f=[]
-for(u.shift(),u.shift(),a=0;a<u.length;++a)""!==u[a].trim()&&h.push(u[a].split("|").map(function(e){return e.trim()}))
-if(c.length<l.length)return e
-for(a=0;a<l.length;++a)p.push(i(l[a]))
-for(a=0;a<c.length;++a)r.helper.isUndefined(p[a])&&(p[a]=""),d.push(o(c[a],p[a]))
-for(a=0;a<h.length;++a){for(var g=[],m=0;m<d.length;++m)r.helper.isUndefined(h[a][m]),g.push(s(h[a][m],p[m]))
-f.push(g)}return function(e,t){for(var n="<table>\n<thead>\n<tr>\n",r=e.length,i=0;i<r;++i)n+=e[i]
-for(n+="</tr>\n</thead>\n<tbody>\n",i=0;i<t.length;++i){n+="<tr>\n"
-for(var o=0;o<r;++o)n+=t[i][o]
-n+="</tr>\n"}return n+="</tbody>\n</table>\n"}(d,f)}return t.tables?(e=n.converter._dispatch("tables.before",e,t,n),e=e.replace(/\\(\|)/g,r.helper.escapeCharactersCallback),e=e.replace(/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,a),e=e.replace(/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm,a),e=n.converter._dispatch("tables.after",e,t,n)):e}),r.subParser("underline",function(e,t,n){"use strict"
-return t.underline?(e=n.converter._dispatch("underline.before",e,t,n),e=t.literalMidWordUnderscores?e.replace(/\b_?__(\S[\s\S]*)___?\b/g,function(e,t){return"<u>"+t+"</u>"}):e.replace(/_?__(\S[\s\S]*?)___?/g,function(e,t){return/\S$/.test(t)?"<u>"+t+"</u>":e}),e=e.replace(/(_)/g,r.helper.escapeCharactersCallback),e=n.converter._dispatch("underline.after",e,t,n)):e}),r.subParser("unescapeSpecialChars",function(e,t,n){"use strict"
-return e=n.converter._dispatch("unescapeSpecialChars.before",e,t,n),e=e.replace(/¨E(\d+)E/g,function(e,t){var n=parseInt(t)
-return String.fromCharCode(n)}),e=n.converter._dispatch("unescapeSpecialChars.after",e,t,n)})
-"function"==typeof define&&define.amd?define(function(){"use strict"
-return r}):"undefined"!=typeof module&&module.exports?module.exports=r:this.showdown=r}.call(this),define("ember-cli-app-version/initializer-factory",["exports"],function(e){"use strict"
-function t(e,t){var i=!1
-return function(){if(!i&&e&&t){var o=n(e)
-r.register(o,t),i=!0}}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=t
-var n=Ember.String.classify,r=Ember.libraries}),define("ember-cli-app-version/utils/regexp",["exports"],function(e){"use strict"
-Object.defineProperty(e,"__esModule",{value:!0})
-e.versionRegExp=/\d[.]\d[.]\d/,e.shaRegExp=/[a-z\d]{8}/}),define("ember-load-initializers/index",["exports"],function(e){"use strict"
-function t(e){var t=require(e,null,null,!0)
-if(!t)throw new Error(e+" must export an initializer.")
-var n=t.default
-return n.name||(n.name=e.slice(e.lastIndexOf("/")+1)),n}function n(e,n){for(var r=0;r<n.length;r++)e.initializer(t(n[r]))}function r(e,n){for(var r=0;r<n.length;r++)e.instanceInitializer(t(n[r]))}Object.defineProperty(e,"__esModule",{value:!0}),e.default=function(e,t){for(var i=t+"/initializers/",o=t+"/instance-initializers/",s=[],a=[],u=Object.keys(requirejs._eak_seen),c=0;c<u.length;c++){var l=u[c]
-0===l.lastIndexOf(i,0)?s.push(l):0===l.lastIndexOf(o,0)&&a.push(l)}n(e,s),r(e,a)}}),define("ember-radio-button/components/labeled-radio-button",["exports","ember-radio-button/templates/components/labeled-radio-button"],function(e,t){"use strict"
-Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"label",layout:t.default,attributeBindings:["for"],classNameBindings:["_checkedClass"],classNames:["ember-radio-button"],defaultLayout:null,checkedClass:"checked",_checkedClass:Ember.computed("checked","checkedClass",function(){return this.get("checked")?this.get("checkedClass"):""}),checked:Ember.computed("groupValue","value",function(){return Ember.isEqual(this.get("groupValue"),this.get("value"))}).readOnly(),for:Ember.computed.readOnly("radioId"),actions:{innerRadioChanged:function(e){this.sendAction("changed",e)}}})}),define("ember-radio-button/components/radio-button-input",["exports"],function(e){"use strict"
-Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"input",type:"radio",defaultLayout:null,attributeBindings:["autofocus","checked","disabled","name","required","tabindex","type","value","ariaLabelledby:aria-labelledby","ariaDescribedby:aria-describedby"],checked:Ember.computed("groupValue","value",function(){return Ember.isEqual(this.get("groupValue"),this.get("value"))}).readOnly(),sendChangedAction:function(){this.sendAction("changed",this.get("value"))},change:function(){var e=this.get("value")
-this.get("groupValue")!==e&&(this.set("groupValue",e),Ember.run.once(this,"sendChangedAction"))}})}),define("ember-radio-button/components/radio-button",["exports","ember-radio-button/templates/components/radio-button"],function(e,t){"use strict"
-Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ember.Component.extend({tagName:"",layout:t.default,hasBlock:Ember.computed.bool("template").readOnly(),joinedClassNames:Ember.computed("classNames",function(){var e=this.get("classNames")
-return e&&e.length&&e.join?e.join(" "):e}),defaultLayout:null,checkedClass:"checked",checked:Ember.computed("groupValue","value",function(){return Ember.isEqual(this.get("groupValue"),this.get("value"))}).readOnly(),actions:{changed:function(e){this.sendAction("changed",e)}}})}),define("ember-radio-button/templates/components/labeled-radio-button",["exports"],function(e){"use strict"
-e.__esModule=!0,e.default=Ember.HTMLBars.template({id:"1UntrEkb",block:'{"symbols":["&default"],"statements":[[1,[26,"radio-button",null,[["radioClass","radioId","changed","disabled","groupValue","name","required","value"],[[22,["radioClass"]],[22,["radioId"]],"innerRadioChanged",[22,["disabled"]],[22,["groupValue"]],[22,["name"]],[22,["required"]],[22,["value"]]]]],false],[0,"\\n\\n"],[13,1],[0,"\\n"]],"hasEval":false}',meta:{moduleName:"ember-radio-button/templates/components/labeled-radio-button.hbs"}})}),define("ember-radio-button/templates/components/radio-button-input",["exports"],function(e){"use strict"
-e.__esModule=!0,e.default=Ember.HTMLBars.template({id:"3/rWZEpA",block:'{"symbols":[],"statements":[],"hasEval":false}',meta:{moduleName:"ember-radio-button/templates/components/radio-button-input.hbs"}})}),define("ember-radio-button/templates/components/radio-button",["exports"],function(e){"use strict"
-e.__esModule=!0,e.default=Ember.HTMLBars.template({id:"MNnQlikJ",block:'{"symbols":["&default"],"statements":[[4,"if",[[23,1]],null,{"statements":[[0," "],[6,"label"],[11,"class",[27,["ember-radio-button ",[26,"if",[[22,["checked"]],[22,["checkedClass"]]],null]," ",[20,"joinedClassNames"]]]],[11,"for",[20,"radioId"]],[8],[0,"\\n "],[1,[26,"radio-button-input",null,[["class","id","autofocus","disabled","name","required","tabindex","groupValue","value","ariaLabelledby","ariaDescribedby","changed"],[[22,["radioClass"]],[22,["radioId"]],[22,["autofocus"]],[22,["disabled"]],[22,["name"]],[22,["required"]],[22,["tabindex"]],[22,["groupValue"]],[22,["value"]],[22,["ariaLabelledby"]],[22,["ariaDescribedby"]],"changed"]]],false],[0,"\\n\\n "],[13,1],[0,"\\n "],[9],[0,"\\n"]],"parameters":[]},{"statements":[[0," "],[1,[26,"radio-button-input",null,[["class","id","autofocus","disabled","name","required","tabindex","groupValue","value","ariaLabelledby","ariaDescribedby","changed"],[[22,["radioClass"]],[22,["radioId"]],[22,["autofocus"]],[22,["disabled"]],[22,["name"]],[22,["required"]],[22,["tabindex"]],[22,["groupValue"]],[22,["value"]],[22,["ariaLabelledby"]],[22,["ariaDescribedby"]],"changed"]]],false],[0,"\\n"]],"parameters":[]}]],"hasEval":false}',meta:{moduleName:"ember-radio-button/templates/components/radio-button.hbs"}})}),define("ember-resolver/features",[],function(){"use strict"}),define("ember-resolver/index",["exports","ember-resolver/resolvers/classic"],function(e,t){"use strict"
-Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ember-resolver/resolver",["exports","ember-resolver/resolvers/classic"],function(e,t){"use strict"
-Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t.default}})}),define("ember-resolver/resolvers/classic/container-debug-adapter",["exports","ember-resolver/resolvers/classic/index"],function(e,t){"use strict"
-function n(e,t,n){var r=t.match(new RegExp("^/?"+n+"/(.+)/"+e+"$"))
-if(null!==r)return r[1]}Object.defineProperty(e,"__esModule",{value:!0})
-var r=Ember.ContainerDebugAdapter
-e.default=r.extend({_moduleRegistry:null,init:function(){this._super.apply(this,arguments),this._moduleRegistry||(this._moduleRegistry=new t.ModuleRegistry)},canCatalogEntriesByType:function(e){return"model"===e||this._super.apply(this,arguments)},catalogEntriesByType:function(e){for(var t=this._moduleRegistry.moduleNames(),r=Ember.A(),i=this.namespace.modulePrefix,o=0,s=t.length;o<s;o++){var a=t[o]
-if(-1!==a.indexOf(e)){var u=n(e,a,this.namespace.podModulePrefix||i)
-u||(u=a.split(e+"s/").pop()),r.addObject(u)}}return r}})}),define("ember-resolver/resolvers/classic/index",["exports","ember-resolver/utils/class-factory","ember-resolver/utils/make-dictionary"],function(e,t,n){"use strict"
-function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e){if(!0===e.parsedName)return e
-var t=void 0,n=void 0,r=void 0,i=e.split("@")
-if("helper:@content-helper"!==e&&2===i.length){var o=i[0].split(":")
-if(2===o.length)t=o[1],n=o[0],r=i[1]
-else{var s=i[1].split(":")
-t=i[0],n=s[0],r=s[1]}"template"===n&&0===t.lastIndexOf("components/",0)&&(r="components/"+r,t=t.slice(11))}else i=e.split(":"),n=i[0],r=i[1]
-var a=r,u=h(this,"namespace"),l=u
-return{parsedName:!0,fullName:e,prefix:t||this.prefix({type:n}),type:n,fullNameWithoutType:a,name:r,root:l,resolveMethodName:"resolve"+c(n)}}function o(e){Ember.assert("`modulePrefix` must be defined",this.namespace.modulePrefix)
-var n=this.findModuleName(e)
-if(n){var r=this._extractDefaultExport(n,e)
-if(void 0===r)throw new Error(" Expected to find: '"+e.fullName+"' within '"+n+"' but got 'undefined'. Did you forget to 'export default' within '"+n+"'?")
-return this.shouldWrapInClassFactory(r,e)&&(r=(0,t.default)(r)),r}return this._super(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.ModuleRegistry=void 0,void 0===requirejs.entries&&(requirejs.entries=requirejs._eak_seen)
-var s=e.ModuleRegistry=function(){function e(t){r(this,e),this._entries=t||requirejs.entries}return e.prototype.moduleNames=function(){return Object.keys(this._entries)},e.prototype.has=function(e){return e in this._entries},e.prototype.get=function(e){return require(e)},e}(),a=Ember.String,u=a.underscore,c=a.classify,l=a.dasherize,h=Ember.get,d=Ember.DefaultResolver,p=d.extend({resolveOther:o,parseName:i,resolveTemplate:o,pluralizedTypes:null,moduleRegistry:null,makeToString:function(e,t){return this.namespace.modulePrefix+"@"+t+":"},shouldWrapInClassFactory:function(){return!1},init:function(){this._super(),this.moduleBasedResolver=!0,this._moduleRegistry||(this._moduleRegistry=new s),this._normalizeCache=(0,n.default)(),this.pluralizedTypes=this.pluralizedTypes||(0,n.default)(),this.pluralizedTypes.config||(this.pluralizedTypes.config="config"),this._deprecatedPodModulePrefix=!1},normalize:function(e){return this._normalizeCache[e]||(this._normalizeCache[e]=this._normalize(e))},_normalize:function(e){var t=e.split(":")
-return t.length>1?"helper"===t[0]?t[0]+":"+t[1].replace(/_/g,"-"):t[0]+":"+l(t[1].replace(/\./g,"/")):e},pluralize:function(e){return this.pluralizedTypes[e]||(this.pluralizedTypes[e]=e+"s")},podBasedLookupWithPrefix:function(e,t){var n=t.fullNameWithoutType
-return"template"===t.type&&(n=n.replace(/^components\//,"")),e+"/"+n+"/"+t.type},podBasedModuleName:function(e){var t=this.namespace.podModulePrefix||this.namespace.modulePrefix
-return this.podBasedLookupWithPrefix(t,e)},podBasedComponentsInSubdir:function(e){var t=this.namespace.podModulePrefix||this.namespace.modulePrefix
-if(t+="/components","component"===e.type||/^components/.test(e.fullNameWithoutType))return this.podBasedLookupWithPrefix(t,e)},resolveEngine:function(e){var t=e.fullNameWithoutType,n=t+"/engine"
-if(this._moduleRegistry.has(n))return this._extractDefaultExport(n)},resolveRouteMap:function(e){var t=e.fullNameWithoutType,n=t+"/routes"
-if(this._moduleRegistry.has(n)){var r=this._extractDefaultExport(n)
-return Ember.assert("The route map for "+t+" should be wrapped by 'buildRoutes' before exporting.",r.isRouteMap),r}},mainModuleName:function(e){var t=e.prefix+"/"+e.type
-if("main"===e.fullNameWithoutType)return t},defaultModuleName:function(e){return e.prefix+"/"+this.pluralize(e.type)+"/"+e.fullNameWithoutType},prefix:function(e){var t=this.namespace.modulePrefix
-return this.namespace[e.type+"Prefix"]&&(t=this.namespace[e.type+"Prefix"]),t},moduleNameLookupPatterns:Ember.computed(function(){return[this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName]}).readOnly(),findModuleName:function(e,t){for(var n=this.get("moduleNameLookupPatterns"),r=void 0,i=0,o=n.length;i<o;i++){var s=n[i],a=s.call(this,e)
-if(a&&(a=this.chooseModuleName(a,e)),a&&this._moduleRegistry.has(a)&&(r=a),t||this._logLookup(r,e,a),r)return r}},chooseModuleName:function(e,t){var n=this,r=u(e)
-if(e!==r&&this._moduleRegistry.has(e)&&this._moduleRegistry.has(r))throw new TypeError("Ambiguous module names: '"+e+"' and '"+r+"'")
-if(this._moduleRegistry.has(e))return e
-if(this._moduleRegistry.has(r))return r
-var i=e.replace(/\/-([^\/]*)$/,"/_$1")
-if(this._moduleRegistry.has(i))return Ember.deprecate('Modules should not contain underscores. Attempted to lookup "'+e+'" which was not found. Please rename "'+i+'" to "'+e+'" instead.',!1,{id:"ember-resolver.underscored-modules",until:"3.0.0"}),i
-Ember.runInDebug(function(){"helper"===t.type&&/[a-z]+[A-Z]+/.test(e)&&(n._camelCaseHelperWarnedNames=n._camelCaseHelperWarnedNames||[],!(n._camelCaseHelperWarnedNames.indexOf(t.fullName)>-1)&&n._moduleRegistry.has(l(e))&&(n._camelCaseHelperWarnedNames.push(t.fullName),Ember.warn('Attempted to lookup "'+t.fullName+'" which was not found. In previous versions of ember-resolver, a bug would have caused the module at "'+l(e)+'" to be returned for this camel case helper name. This has been fixed. Use the dasherized name to resolve the module that would have been returned in previous versions.',!1,{id:"ember-resolver.camelcase-helper-names",until:"3.0.0"})))})},lookupDescription:function(e){var t=this.parseName(e)
-return this.findModuleName(t,!0)},_logLookup:function(e,t,n){if(Ember.ENV.LOG_MODULE_RESOLVER||t.root.LOG_RESOLVER){var r=void 0,i=e?"[✓]":"[ ]"
-r=t.fullName.length>60?".":new Array(60-t.fullName.length).join("."),n||(n=this.lookupDescription(t)),Ember.Logger.info(i,t.fullName,r,n)}},knownForType:function(e){for(var t=this._moduleRegistry.moduleNames(),r=(0,n.default)(),i=0,o=t.length;i<o;i++){var s=t[i],a=this.translateToContainerFullname(e,s)
-a&&(r[a]=!0)}return r},translateToContainerFullname:function(e,t){var n=this.prefix({type:e}),r=n+"/",i="/"+e,o=t.indexOf(r),s=t.indexOf(i)
-if(0===o&&s===t.length-i.length&&t.length>r.length+i.length)return e+":"+t.slice(o+r.length,s)
-var a=this.pluralize(e),u=n+"/"+a+"/"
-return 0===t.indexOf(u)&&t.length>u.length?e+":"+t.slice(u.length):void 0},_extractDefaultExport:function(e){var t=require(e,null,null,!0)
-return t&&t.default&&(t=t.default),t}})
-p.reopenClass({moduleBasedResolver:!0}),e.default=p}),define("ember-resolver/utils/class-factory",["exports"],function(e){"use strict"
-function t(e){return{create:function(t){return"function"==typeof e.extend?e.extend(t):e}}}Object.defineProperty(e,"__esModule",{value:!0}),e.default=t}),define("ember-resolver/utils/make-dictionary",["exports"],function(e){"use strict"
-function t(){var e=Object.create(null)
-return e._dict=null,delete e._dict,e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=t}),define("ember-truth-helpers/helpers/and",["exports","ember-truth-helpers/utils/truth-convert"],function(e,t){"use strict"
-function n(e){for(var n=0,r=e.length;n<r;n++)if(!1===(0,t.default)(e[n]))return e[n]
-return e[e.length-1]}Object.defineProperty(e,"__esModule",{value:!0}),e.and=n,e.default=Ember.Helper.helper(n)}),define("ember-truth-helpers/helpers/equal",["exports"],function(e){"use strict"
-function t(e){return e[0]===e[1]}Object.defineProperty(e,"__esModule",{value:!0}),e.equal=t,e.default=Ember.Helper.helper(t)}),define("ember-truth-helpers/helpers/gt",["exports"],function(e){"use strict"
-function t(e,t){var n=e[0],r=e[1]
-return t.forceNumber&&("number"!=typeof n&&(n=Number(n)),"number"!=typeof r&&(r=Number(r))),n>r}Object.defineProperty(e,"__esModule",{value:!0}),e.gt=t,e.default=Ember.Helper.helper(t)})
-define("ember-truth-helpers/helpers/gte",["exports"],function(e){"use strict"
-function t(e,t){var n=e[0],r=e[1]
-return t.forceNumber&&("number"!=typeof n&&(n=Number(n)),"number"!=typeof r&&(r=Number(r))),n>=r}Object.defineProperty(e,"__esModule",{value:!0}),e.gte=t,e.default=Ember.Helper.helper(t)}),define("ember-truth-helpers/helpers/is-array",["exports"],function(e){"use strict"
-function t(e){for(var t=0,n=e.length;t<n;t++)if(!1===Ember.isArray(e[t]))return!1
-return!0}Object.defineProperty(e,"__esModule",{value:!0}),e.isArray=t,e.default=Ember.Helper.helper(t)}),define("ember-truth-helpers/helpers/is-equal",["exports"],function(e){"use strict"
-function t(e){var t=n(e,2),r=t[0],i=t[1]
-return Ember.isEqual(r,i)}Object.defineProperty(e,"__esModule",{value:!0}),e.isEqual=t
-var n=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0
-try{for(var s,a=e[Symbol.iterator]();!(r=(s=a.next()).done)&&(n.push(s.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&a.return&&a.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t
-if(Symbol.iterator in Object(t))return e(t,n)
-throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()
-e.default=Ember.Helper.helper(t)}),define("ember-truth-helpers/helpers/lt",["exports"],function(e){"use strict"
-function t(e,t){var n=e[0],r=e[1]
-return t.forceNumber&&("number"!=typeof n&&(n=Number(n)),"number"!=typeof r&&(r=Number(r))),n<r}Object.defineProperty(e,"__esModule",{value:!0}),e.lt=t,e.default=Ember.Helper.helper(t)}),define("ember-truth-helpers/helpers/lte",["exports"],function(e){"use strict"
-function t(e,t){var n=e[0],r=e[1]
-return t.forceNumber&&("number"!=typeof n&&(n=Number(n)),"number"!=typeof r&&(r=Number(r))),n<=r}Object.defineProperty(e,"__esModule",{value:!0}),e.lte=t,e.default=Ember.Helper.helper(t)}),define("ember-truth-helpers/helpers/not-equal",["exports"],function(e){"use strict"
-function t(e){return e[0]!==e[1]}Object.defineProperty(e,"__esModule",{value:!0}),e.notEqualHelper=t,e.default=Ember.Helper.helper(t)}),define("ember-truth-helpers/helpers/not",["exports","ember-truth-helpers/utils/truth-convert"],function(e,t){"use strict"
-function n(e){for(var n=0,r=e.length;n<r;n++)if(!0===(0,t.default)(e[n]))return!1
-return!0}Object.defineProperty(e,"__esModule",{value:!0}),e.not=n,e.default=Ember.Helper.helper(n)}),define("ember-truth-helpers/helpers/or",["exports","ember-truth-helpers/utils/truth-convert"],function(e,t){"use strict"
-function n(e){for(var n=0,r=e.length;n<r;n++)if(!0===(0,t.default)(e[n]))return e[n]
-return e[e.length-1]}Object.defineProperty(e,"__esModule",{value:!0}),e.or=n,e.default=Ember.Helper.helper(n)}),define("ember-truth-helpers/helpers/xor",["exports","ember-truth-helpers/utils/truth-convert"],function(e,t){"use strict"
-function n(e){return(0,t.default)(e[0])!==(0,t.default)(e[1])}Object.defineProperty(e,"__esModule",{value:!0}),e.xor=n,e.default=Ember.Helper.helper(n)}),define("ember-truth-helpers/utils/truth-convert",["exports"],function(e){"use strict"
-function t(e){var t=e&&Ember.get(e,"isTruthy")
-return"boolean"==typeof t?t:Ember.isArray(e)?0!==Ember.get(e,"length"):!!e}Object.defineProperty(e,"__esModule",{value:!0}),e.default=t})
diff --git a/javascript/release/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css b/javascript/release/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css
deleted file mode 100644
index 6ff1da5..0000000
--- a/javascript/release/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css
+++ /dev/null
@@ -1,3 +0,0 @@
-/*! jQuery UI - v1.12.1 - 2018-03-18
-* http://jqueryui.com
-* Copyright jQuery Foundation and other contributors; Licensed MIT */.jstree-anchor:focus,.vakata-context li>a:focus{outline:0}.jstree-anchor,.jstree-node{white-space:nowrap}.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:after,.ui-helper-clearfix:before{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-autohide .ui-resizable-handle,.ui-resizable-disabled .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.jstree-children,.jstree-container-ul,.jstree-node{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-anchor,.jstree-icon,.jstree-icon:empty{display:inline-block;margin:0;vertical-align:top}.jstree-anchor{padding:0 4px 0 1px}.jstree-anchor,.jstree-anchor:active,.jstree-anchor:hover,.jstree-anchor:link,.jstree-anchor:visited{text-decoration:none;color:inherit}.jstree-icon,.jstree-icon:empty{text-decoration:none;padding:0;text-align:center}.jstree-ocl{cursor:pointer}.jstree-leaf>.jstree-ocl{cursor:default}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children,.jstree-anchor>.jstree-themeicon-hidden,.jstree-hidden,.jstree-no-icons .jstree-themeicon,.jstree-node.jstree-hidden{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-leaf>.jstree-ocl{cursor:pointer}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.jstree-contextmenu .jstree-anchor{-webkit-user-select:none;-webkit-touch-callout:none}.vakata-context{display:none}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;box-shadow:2px 2px 2px #999}.vakata-context .vakata-context-hover>a,.vakata-context li>a:hover{position:relative;background-color:#e8eff7;box-shadow:0 0 2px #0a6aa1}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;text-shadow:1px 1px 0 #fff;border-radius:1px}.vakata-context li>a>i,.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context .vakata-context-separator>a,.vakata-context .vakata-context-separator>a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;text-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context .vakata-contextmenu-disabled>a>i{filter:grayscale(100%)}.vakata-context li>a>i{text-decoration:none;display:inline-block;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:-5px 0 0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-copy,#jstree-dnd .jstree-icon{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-animated,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-context,.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{color:#666}.jstree-default .jstree-disabled.jstree-hovered{box-shadow:none}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}.jstree-default>.jstree-striped{min-width:100%;display:inline-block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top}.jstree-default>.jstree-wholerow-ul .jstree-clicked,.jstree-default>.jstree-wholerow-ul .jstree-hovered{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;height:24px}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px;background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon,.jstree-default .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default>.jstree-no-dots .jstree-node{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled,.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default .jstree-checked>.jstree-checkbox,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-228px -4px}.jstree-default .jstree-checked>.jstree-checkbox:hover,.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -100px -68px no-repeat}.jstree-default .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -260px -4px no-repeat}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default{line-height:24px;padding:0 4px}#jstree-dnd.jstree-default .jstree-er,#jstree-dnd.jstree-default .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:24px;height:24px;line-height:24px}#jstree-dnd.jstree-default .jstree-ok{background-position:-4px -68px}#jstree-dnd.jstree-default .jstree-er{background-position:-36px -68px}.jstree-default .jstree-ellipsis{overflow:hidden}.jstree-default .jstree-ellipsis .jstree-anchor{width:calc(100% - 29px);text-overflow:ellipsis;overflow:hidden}#jstree-dnd.jstree-default-small i,.jstree-default-small .jstree-icon,.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px;background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-icon,.jstree-default-small .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled,.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small .jstree-checked>.jstree-checkbox,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small .jstree-checked>.jstree-checkbox:hover,.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default-small .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -103px -71px no-repeat}.jstree-default-small .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -263px -7px no-repeat}.jstree-default-small>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-small{line-height:18px;padding:0 4px}#jstree-dnd.jstree-default-small .jstree-er,#jstree-dnd.jstree-default-small .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-small i{background:0 0}#jstree-dnd.jstree-default-small .jstree-ok{background-position:-7px -71px}#jstree-dnd.jstree-default-small .jstree-er{background-position:-39px -71px}.jstree-default-small .jstree-ellipsis{overflow:hidden}.jstree-default-small .jstree-ellipsis .jstree-anchor{width:calc(100% - 23px);text-overflow:ellipsis;overflow:hidden}#jstree-dnd.jstree-default-large i,.jstree-default-large .jstree-icon,.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px;background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-icon,.jstree-default-large .jstree-node{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png)}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled,.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large .jstree-checked>.jstree-checkbox,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large .jstree-checked>.jstree-checkbox:hover,.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large .jstree-checkbox-disabled{opacity:.8;filter:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'jstree-grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px;background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber-62be6ed2b189444b472b8000dc187240.gif) center center no-repeat}.jstree-default-large .jstree-file{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -96px -64px no-repeat}.jstree-default-large .jstree-folder{background:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png) -256px 0 no-repeat}.jstree-default-large>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}#jstree-dnd.jstree-default-large{line-height:32px;padding:0 4px}#jstree-dnd.jstree-default-large .jstree-er,#jstree-dnd.jstree-default-large .jstree-ok{background-image:url(32px-eebaf260766f5e0e773f53d3ea4f3e4d.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default-large i{background:0 0}#jstree-dnd.jstree-default-large .jstree-ok{background-position:0 -64px}#jstree-dnd.jstree-default-large .jstree-er{background-position:-32px -64px}.jstree-default-large .jstree-ellipsis{overflow:hidden}.jstree-default-large .jstree-ellipsis .jstree-anchor{width:calc(100% - 37px);text-overflow:ellipsis;overflow:hidden}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){#jstree-dnd.jstree-dnd-responsive{line-height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}#jstree-dnd.jstree-dnd-responsive>i{background:0 0;width:40px;height:40px}#jstree-dnd.jstree-dnd-responsive>.jstree-ok{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-position:0 -200px;background-size:120px 240px}#jstree-dnd.jstree-dnd-responsive>.jstree-er{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-position:-40px -200px;background-size:120px 240px}#jstree-marker.jstree-dnd-responsive{border-left-width:10px;border-top-width:10px;border-bottom-width:10px;margin-top:-10px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive .jstree-node{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px;font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px;background:0 0}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-size:120px 240px}.jstree-default-responsive .jstree-leaf>.jstree-ocl,.jstree-default-responsive.jstree-rtl .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive .jstree-checked>.jstree-checkbox,.jstree-default-responsive .jstree-checked>.jstree-checkbox:hover,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox,.jstree-default-responsive.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon{background-image:url(40px-51286e68b083696edaf4f9fc577e2a2d.png);background-size:120px 240px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none;background-position:0 0}.jstree-default-responsive .jstree-file{background:url(40px-51286e68b083696edaf4f9fc577e2a2d.png) 0 -160px no-repeat;background-size:120px 240px}.jstree-default-responsive .jstree-folder{background:url(40px-51286e68b083696edaf4f9fc577e2a2d.png) -40px -40px no-repeat;background-size:120px 240px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0}}.pace{-webkit-pointer-events:none;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pace-inactive{display:none}.pace .pace-progress{background:#d6d6d6;position:fixed;z-index:2000;top:0;right:100%;width:100%;height:2px} \ No newline at end of file
diff --git a/javascript/release/index.html b/javascript/release/index.html
deleted file mode 100644
index 01f6da2..0000000
--- a/javascript/release/index.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>Haskell Code Explorer</title>
- <meta name="description" content="Haskell Code Explorer">
- <meta name="google" content="notranslate">
- <meta name="viewport" content="width=device-width, initial-scale=0.6">
-
-<meta name="haskell-code-explorer/config/environment" content="%7B%22modulePrefix%22%3A%22haskell-code-explorer%22%2C%22environment%22%3A%22production%22%2C%22rootURL%22%3A%22/%22%2C%22locationType%22%3A%22auto%22%2C%22EmberENV%22%3A%7B%22FEATURES%22%3A%7B%7D%2C%22EXTEND_PROTOTYPES%22%3A%7B%22Date%22%3Afalse%7D%7D%2C%22pace%22%3A%7B%22theme%22%3A%22minimal%22%2C%22color%22%3A%22silver%22%2C%22target%22%3A%22body%22%2C%22elements%22%3A%7B%22checkInterval%22%3A100%2C%22selectors%22%3A%5B%22body%22%2C%22.ember-view%22%5D%7D%2C%22ajax%22%3Afalse%2C%22catchupTime%22%3A50%2C%22initialRate%22%3A0.01%2C%22minTime%22%3A100%2C%22ghostTime%22%3A50%2C%22maxProgressPerFrame%22%3A20%2C%22easeFactor%22%3A1.25%2C%22startOnPageLoad%22%3Atrue%2C%22restartOnPushState%22%3Atrue%2C%22restartOnRequestAfter%22%3A500%2C%22eventLag%22%3A%7B%22minSamples%22%3A10%2C%22sampleCount%22%3A3%2C%22lagThreshold%22%3A3%7D%7D%2C%22APP%22%3A%7B%22staticUrlPrefix%22%3A%22/files%22%2C%22apiUrlPrefix%22%3A%22/api%22%2C%22haskellCodeExplorerDirectory%22%3A%22.haskell-code-explorer%22%2C%22title%22%3A%22Haskell%20Code%20Explorer%22%2C%22name%22%3A%22haskell-code-explorer%22%2C%22version%22%3A%220.0.1+571363af%22%7D%2C%22exportApplicationGlobal%22%3Afalse%7D" />
-<script type="text/javascript" data-pace-options='{"color":"silver","theme":"minimal","catchupTime":50,"initialRate":0.01,"minTime":100,"ghostTime":50,"maxProgressPerFrame":20,"easeFactor":1.25,"startOnPageLoad":true,"restartOnPushState":true,"restartOnRequestAfter":500,"target":"body","elements":{"checkInterval":100,"selectors":["body",".ember-view"]},"eventLag":{"minSamples":10,"sampleCount":3,"lagThreshold":3},"ajax":false}'>(function(){var t,e,n,r,s,o,i,u,a,c,l,p,h,f,d,g,m,y,v,w,b,k,S,q,L,x,P,T,R,j,E,O,M,A,N,_,F,C,U,W,X,D,H,I,z,G,B,J,K,Q=[].slice,V={}.hasOwnProperty,Y=function(t,e){function n(){this.constructor=t}for(var r in e)V.call(e,r)&&(t[r]=e[r]);return n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype,t},Z=[].indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1};for(b={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:"body",elements:{checkInterval:100,selectors:["body"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:["GET"],trackWebSockets:!0,ignoreURLs:[]}},R=function(){var t;return null!=(t="undefined"!=typeof performance&&null!==performance&&"function"==typeof performance.now?performance.now():void 0)?t:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,w=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(t){return setTimeout(t,50)},w=function(t){return clearTimeout(t)}),M=function(t){var e,n;return e=R(),(n=function(){var r;return r=R()-e,r>=33?(e=R(),t(r,function(){return E(n)})):setTimeout(n,33-r)})()},O=function(){var t,e,n;return n=arguments[0],e=arguments[1],t=3<=arguments.length?Q.call(arguments,2):[],"function"==typeof n[e]?n[e].apply(n,t):n[e]},k=function(){var t,e,n,r,s,o,i;for(e=arguments[0],r=2<=arguments.length?Q.call(arguments,1):[],o=0,i=r.length;o<i;o++)if(n=r[o])for(t in n)V.call(n,t)&&(s=n[t],null!=e[t]&&"object"==typeof e[t]&&null!=s&&"object"==typeof s?k(e[t],s):e[t]=s);return e},m=function(t){var e,n,r,s,o;for(n=e=0,s=0,o=t.length;s<o;s++)r=t[s],n+=Math.abs(r),e++;return n/e},q=function(t,e){var n,r,s;if(null==t&&(t="options"),null==e&&(e=!0),s=document.querySelector("[data-pace-"+t+"]")){if(n=s.getAttribute("data-pace-"+t),!e)return n;try{return JSON.parse(n)}catch(t){return r=t,"undefined"!=typeof console&&null!==console?console.error("Error parsing inline pace options",r):void 0}}},i=function(){function t(){}return t.prototype.on=function(t,e,n,r){var s;return null==r&&(r=!1),null==this.bindings&&(this.bindings={}),null==(s=this.bindings)[t]&&(s[t]=[]),this.bindings[t].push({handler:e,ctx:n,once:r})},t.prototype.once=function(t,e,n){return this.on(t,e,n,!0)},t.prototype.off=function(t,e){var n,r,s;if(null!=(null!=(r=this.bindings)?r[t]:void 0)){if(null==e)return delete this.bindings[t];for(n=0,s=[];n<this.bindings[t].length;)this.bindings[t][n].handler===e?s.push(this.bindings[t].splice(n,1)):s.push(n++);return s}},t.prototype.trigger=function(){var t,e,n,r,s,o,i,u,a;if(n=arguments[0],t=2<=arguments.length?Q.call(arguments,1):[],null!=(i=this.bindings)?i[n]:void 0){for(s=0,a=[];s<this.bindings[n].length;)u=this.bindings[n][s],r=u.handler,e=u.ctx,o=u.once,r.apply(null!=e?e:this,t),o?a.push(this.bindings[n].splice(s,1)):a.push(s++);return a}},t}(),c=window.Pace||{},window.Pace=c,k(c,i.prototype),j=c.options=k({},b,window.paceOptions,q()),B=["ajax","document","eventLag","elements"],H=0,z=B.length;H<z;H++)F=B[H],!0===j[F]&&(j[F]=b[F]);a=function(t){function e(){return J=e.__super__.constructor.apply(this,arguments)}return Y(e,t),e}(Error),e=function(){function t(){this.progress=0}return t.prototype.getElement=function(){var t;if(null==this.el){if(!(t=document.querySelector(j.target)))throw new a;this.el=document.createElement("div"),this.el.className="pace pace-active",document.body.className=document.body.className.replace(/pace-done/g,""),document.body.className+=" pace-running",this.el.innerHTML='<div class="pace-progress">\n <div class="pace-progress-inner"></div>\n</div>\n<div class="pace-activity"></div>',null!=t.firstChild?t.insertBefore(this.el,t.firstChild):t.appendChild(this.el)}return this.el},t.prototype.finish=function(){var t;return t=this.getElement(),t.className=t.className.replace("pace-active",""),t.className+=" pace-inactive",document.body.className=document.body.className.replace("pace-running",""),document.body.className+=" pace-done"},t.prototype.update=function(t){return this.progress=t,this.render()},t.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(t){a=t}return this.el=void 0},t.prototype.render=function(){var t,e,n,r,s,o,i;if(null==document.querySelector(j.target))return!1;for(t=this.getElement(),r="translate3d("+this.progress+"%, 0, 0)",i=["webkitTransform","msTransform","transform"],s=0,o=i.length;s<o;s++)e=i[s],t.children[0].style[e]=r;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(t.children[0].setAttribute("data-progress-text",(0|this.progress)+"%"),this.progress>=100?n="99":(n=this.progress<10?"0":"",n+=0|this.progress),t.children[0].setAttribute("data-progress",""+n)),this.lastRenderedProgress=this.progress},t.prototype.done=function(){return this.progress>=100},t}(),u=function(){function t(){this.bindings={}}return t.prototype.trigger=function(t,e){var n,r,s,o,i;if(null!=this.bindings[t]){for(o=this.bindings[t],i=[],r=0,s=o.length;r<s;r++)n=o[r],i.push(n.call(this,e));return i}},t.prototype.on=function(t,e){var n;return null==(n=this.bindings)[t]&&(n[t]=[]),this.bindings[t].push(e)},t}(),D=window.XMLHttpRequest,X=window.XDomainRequest,W=window.WebSocket,S=function(t,e){var n,r;r=[];for(n in e.prototype)try{null==t[n]&&"function"!=typeof e[n]?"function"==typeof Object.defineProperty?r.push(Object.defineProperty(t,n,{get:function(){return e.prototype[n]},configurable:!0,enumerable:!0})):r.push(t[n]=e.prototype[n]):r.push(void 0)}catch(t){t}return r},P=[],c.ignore=function(){var t,e,n;return e=arguments[0],t=2<=arguments.length?Q.call(arguments,1):[],P.unshift("ignore"),n=e.apply(null,t),P.shift(),n},c.track=function(){var t,e,n;return e=arguments[0],t=2<=arguments.length?Q.call(arguments,1):[],P.unshift("track"),n=e.apply(null,t),P.shift(),n},_=function(t){var e;if(null==t&&(t="GET"),"track"===P[0])return"force";if(!P.length&&j.ajax){if("socket"===t&&j.ajax.trackWebSockets)return!0;if(e=t.toUpperCase(),Z.call(j.ajax.trackMethods,e)>=0)return!0}return!1},l=function(t){function e(){var t,n=this;e.__super__.constructor.apply(this,arguments),t=function(t){var e;return e=t.open,t.open=function(r,s,o){return _(r)&&n.trigger("request",{type:r,url:s,request:t}),e.apply(t,arguments)}},window.XMLHttpRequest=function(e){var n;return n=new D(e),t(n),n};try{S(window.XMLHttpRequest,D)}catch(t){}if(null!=X){window.XDomainRequest=function(){var e;return e=new X,t(e),e};try{S(window.XDomainRequest,X)}catch(t){}}if(null!=W&&j.ajax.trackWebSockets){window.WebSocket=function(t,e){var r;return r=null!=e?new W(t,e):new W(t),_("socket")&&n.trigger("request",{type:"socket",url:t,protocols:e,request:r}),r};try{S(window.WebSocket,W)}catch(t){}}}return Y(e,t),e}(u),I=null,L=function(){return null==I&&(I=new l),I},N=function(t){var e,n,r,s;for(s=j.ajax.ignoreURLs,n=0,r=s.length;n<r;n++)if("string"==typeof(e=s[n])){if(-1!==t.indexOf(e))return!0}else if(e.test(t))return!0;return!1},L().on("request",function(e){var n,r,s,o,i;if(o=e.type,s=e.request,i=e.url,!N(i))return c.running||!1===j.restartOnRequestAfter&&"force"!==_(o)?void 0:(r=arguments,n=j.restartOnRequestAfter||0,"boolean"==typeof n&&(n=0),setTimeout(function(){var e,n,i,u,a;if("socket"===o?s.readyState<2:0<(i=s.readyState)&&i<4){for(c.restart(),u=c.sources,a=[],e=0,n=u.length;e<n;e++){if((F=u[e])instanceof t){F.watch.apply(F,r);break}a.push(void 0)}return a}},n))}),t=function(){function t(){var t=this;this.elements=[],L().on("request",function(){return t.watch.apply(t,arguments)})}return t.prototype.watch=function(t){var e,n,r,s;if(r=t.type,e=t.request,s=t.url,!N(s))return n="socket"===r?new f(e):new d(e),this.elements.push(n)},t}(),d=function(){function t(t){var e,n,r,s,o,i=this;if(this.progress=0,null!=window.ProgressEvent)for(null,t.addEventListener("progress",function(t){return t.lengthComputable?i.progress=100*t.loaded/t.total:i.progress=i.progress+(100-i.progress)/2},!1),o=["load","abort","timeout","error"],n=0,r=o.length;n<r;n++)e=o[n],t.addEventListener(e,function(){return i.progress=100},!1);else s=t.onreadystatechange,t.onreadystatechange=function(){var e;return 0===(e=t.readyState)||4===e?i.progress=100:3===t.readyState&&(i.progress=50),"function"==typeof s?s.apply(null,arguments):void 0}}return t}(),f=function(){function t(t){var e,n,r,s,o=this;for(this.progress=0,s=["error","open"],n=0,r=s.length;n<r;n++)e=s[n],t.addEventListener(e,function(){return o.progress=100},!1)}return t}(),r=function(){function t(t){var e,n,r,o;for(null==t&&(t={}),this.elements=[],null==t.selectors&&(t.selectors=[]),o=t.selectors,n=0,r=o.length;n<r;n++)e=o[n],this.elements.push(new s(e))}return t}(),s=function(){function t(t){this.selector=t,this.progress=0,this.check()}return t.prototype.check=function(){var t=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return t.check()},j.elements.checkInterval)},t.prototype.done=function(){return this.progress=100},t}(),n=function(){function t(){var t,e,n=this;this.progress=null!=(e=this.states[document.readyState])?e:100,t=document.onreadystatechange,document.onreadystatechange=function(){return null!=n.states[document.readyState]&&(n.progress=n.states[document.readyState]),"function"==typeof t?t.apply(null,arguments):void 0}}return t.prototype.states={loading:0,interactive:50,complete:100},t}(),o=function(){function t(){var t,e,n,r,s,o=this;this.progress=0,t=0,s=[],r=0,n=R(),e=setInterval(function(){var i;return i=R()-n-50,n=R(),s.push(i),s.length>j.eventLag.sampleCount&&s.shift(),t=m(s),++r>=j.eventLag.minSamples&&t<j.eventLag.lagThreshold?(o.progress=100,clearInterval(e)):o.progress=3/(t+3)*100},50)}return t}(),h=function(){function t(t){this.source=t,this.last=this.sinceLastUpdate=0,this.rate=j.initialRate,this.catchup=0,this.progress=this.lastProgress=0,null!=this.source&&(this.progress=O(this.source,"progress"))}return t.prototype.tick=function(t,e){var n;return null==e&&(e=O(this.source,"progress")),e>=100&&(this.done=!0),e===this.last?this.sinceLastUpdate+=t:(this.sinceLastUpdate&&(this.rate=(e-this.last)/this.sinceLastUpdate),this.catchup=(e-this.progress)/j.catchupTime,this.sinceLastUpdate=0,this.last=e),e>this.progress&&(this.progress+=this.catchup*t),n=1-Math.pow(this.progress/100,j.easeFactor),this.progress+=n*this.rate*t,this.progress=Math.min(this.lastProgress+j.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},t}(),C=null,A=null,y=null,U=null,g=null,v=null,c.running=!1,x=function(){if(j.restartOnPushState)return c.restart()},null!=window.history.pushState&&(G=window.history.pushState,window.history.pushState=function(){return x(),G.apply(window.history,arguments)}),null!=window.history.replaceState&&(K=window.history.replaceState,window.history.replaceState=function(){return x(),K.apply(window.history,arguments)}),p={ajax:t,elements:r,document:n,eventLag:o},(T=function(){var t,n,r,s,o,i,u,a;for(c.sources=C=[],i=["ajax","elements","document","eventLag"],n=0,s=i.length;n<s;n++)t=i[n],!1!==j[t]&&C.push(new p[t](j[t]));for(a=null!=(u=j.extraSources)?u:[],r=0,o=a.length;r<o;r++)F=a[r],C.push(new F(j));return c.bar=y=new e,A=[],U=new h})(),c.stop=function(){return c.trigger("stop"),c.running=!1,y.destroy(),v=!0,null!=g&&("function"==typeof w&&w(g),g=null),T()},c.restart=function(){return c.trigger("restart"),c.stop(),c.start()},c.go=function(){var t;return c.running=!0,y.render(),t=R(),v=!1,g=M(function(e,n){var r,s,o,i,u,a,l,p,f,d,g,m,w,b,k;for(100-y.progress,s=d=0,o=!0,a=g=0,w=C.length;g<w;a=++g)for(F=C[a],f=null!=A[a]?A[a]:A[a]=[],u=null!=(k=F.elements)?k:[F],l=m=0,b=u.length;m<b;l=++m)i=u[l],p=null!=f[l]?f[l]:f[l]=new h(i),o&=p.done,p.done||(s++,d+=p.tick(e));return r=d/s,y.update(U.tick(e,r)),y.done()||o||v?(y.update(100),c.trigger("done"),setTimeout(function(){return y.finish(),c.running=!1,c.trigger("hide")},Math.max(j.ghostTime,Math.max(j.minTime-(R()-t),0)))):n()})},c.start=function(t){k(j,t),c.running=!0;try{y.render()}catch(t){a=t}return document.querySelector(".pace")?(c.trigger("start"),c.go()):setTimeout(c.start,50)},"function"==typeof define&&define.amd?define(["pace"],function(){return c}):"object"==typeof exports?module.exports=c:j.startOnPageLoad&&c.start()}).call(this);;
-!function(){var t,e=[],n=function(){var e=document.querySelectorAll("script[pace-src]"),n=e.length;t=n;for(var o=0;o<n;o++)c.call(this,o,e[o].getAttribute("pace-src"),a);e=null},a=function(n,a){if(t--,e[n]=a||"",0===t){var c=document.createElement("script");c.type="text/javascript",c.text=e.join(";\n\n"),document.querySelector("body").appendChild(c),e=null,c=null,t=null}},c=function(t,e,n){var a=new XMLHttpRequest;a.open("GET",e,!0),a.onreadystatechange=function(){if(4===this.readyState)if(this.status>=200&&this.status<400){var e=this.responseURL,a=this.responseText;a=a.replace(/sourceMappingURL\=/gm,function(t){return t+e+"/../"}),n(t,a)}else n(t)},a.send(),a=null};!function(t){"loading"!==document.readyState?t():document.addEventListener?document.addEventListener("DOMContentLoaded",t):document.attachEvent("onreadystatechange",function(){"loading"!==document.readyState&&t()})}(n)}();</script>
- <link rel="stylesheet" href="/assets/vendor-c68699fa3ef851ebff1b584737d944c2.css" integrity="sha256-NC3FTJerIDgT6E+cUQVDgmdoQhRzc3olGWC9bpFUXoM= sha512-J5FhM2rkDlCkcABfHQDEV6KTwR8aDYtX/6v+WCZV7QDOdxJlpD42OTyuYu5ekSt9rVlzadEyHayahxYwnkYsgg==" >
- <link rel="stylesheet" href="/assets/haskell-code-explorer-717832df8786392c9b8a9bd8010463d2.css" integrity="sha256-/OPCZ704XhU8ZDICaA/k20m+j9/AD7qQLkzbs+BbZQI= sha512-/9a4vNuaLK/kaQCSHPY7KBEPDK++asbzsTxv0436Mb4CHz2V5Of9/U3/TLIDmA83ChSDxCEABtO3toZr9VydeA==" >
-
- </head>
- <body>
-
- <script pace-src="/assets/vendor-b97a1e7d03d00bb4514dc45da44b51ff.js"></script>
- <script pace-src="/assets/haskell-code-explorer-3325784c864ca6662b97be678eeea861.js"></script>
-
- <noscript>You need to enable JavaScript to run this app.</noscript>
- </body>
-</html>
diff --git a/javascript/release/robots.txt b/javascript/release/robots.txt
deleted file mode 100644
index f591645..0000000
--- a/javascript/release/robots.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# http://www.robotstxt.org
-User-agent: *
-Disallow:
diff --git a/javascript/server/.eslintrc.js b/javascript/server/.eslintrc.js
deleted file mode 100644
index 1147d29..0000000
--- a/javascript/server/.eslintrc.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
- env: {
- node: true
- }
-};
diff --git a/javascript/server/index.js b/javascript/server/index.js
deleted file mode 100644
index 330a75c..0000000
--- a/javascript/server/index.js
+++ /dev/null
@@ -1,30 +0,0 @@
-/* eslint-env node */
-'use strict';
-
-//https://discuss.emberjs.com/t/how-to-disable-http-mock-server-within-environment-config-file/6660/9
-
-//To use http mocks from server/mocks for testing:
-//ember server
-//To use real server:
-//ember server --proxy=http://localhost:8080/
-
-function usingProxy() {
- return !!process.argv.filter(function (arg) {
- return arg.indexOf('--proxy') === 0;
- }).length;
-}
-
-module.exports = function(app) {
- if (usingProxy()) { return; }
-
- const globSync = require('glob').sync;
- const mocks = globSync('./mocks/**/*.js', { cwd: __dirname }).map(require);
- const proxies = globSync('./proxies/**/*.js', { cwd: __dirname }).map(require);
-
- // Log proxy requests
- const morgan = require('morgan');
- app.use(morgan('dev'));
-
- mocks.forEach(route => route(app));
- proxies.forEach(route => route(app));
-};
diff --git a/javascript/server/mocks/packages.js b/javascript/server/mocks/packages.js
deleted file mode 100644
index 0a60cf3..0000000
--- a/javascript/server/mocks/packages.js
+++ /dev/null
@@ -1,397 +0,0 @@
-/* eslint-env node */
-'use strict';
-
-const packages = [
- {
- "versions": [
- "0.1.0.0"
- ],
- "name": "test-package"
- }
-];
-
-const testPackage = {
- "directoryTree": {
- "tag": "Dir",
- "contents": [
- {
- "tag": "File",
- "path": "Setup.hs",
- "isHaskellModule": false,
- "name": "Setup.hs"
- },
- {
- "tag": "File",
- "path": "stack-8.0.2.yaml",
- "isHaskellModule": false,
- "name": "stack-8.0.2.yaml"
- },
- {
- "tag": "File",
- "path": "stack.yaml",
- "isHaskellModule": false,
- "name": "stack.yaml"
- },
- {
- "tag": "Dir",
- "contents": [
- {
- "tag": "File",
- "path": "src/Lib.hs",
- "isHaskellModule": true,
- "name": "Lib.hs"
- },
- {
- "tag": "File",
- "path": "src/Types.hs",
- "isHaskellModule": true,
- "name": "Types.hs"
- }
- ],
- "name": "src"
- },
- {
- "tag": "Dir",
- "contents": [
- {
- "tag": "File",
- "path": "app/Main.hs",
- "isHaskellModule": true,
- "name": "Main.hs"
- }
- ],
- "name": "app"
- },
- {
- "tag": "Dir",
- "contents": [
- {
- "tag": "File",
- "path": "test/Spec.hs",
- "isHaskellModule": true,
- "name": "Spec.hs"
- }
- ],
- "name": "test"
- },
- {
- "tag": "File",
- "path": "package.yaml",
- "isHaskellModule": false,
- "name": "package.yaml"
- },
- {
- "tag": "File",
- "path": "test-package.cabal",
- "isHaskellModule": false,
- "name": "test-package.cabal"
- }
- ],
- "name": "test-package"
- },
- "modules": {
- "app/Main.hs": [],
- "src/Types.hs": [],
- "test/Spec.hs": [],
- "src/Lib.hs": []
- },
- "id": "test-package-0.1.0.0"
-};
-
-const testModuleInfo = {
- "occurrences": {
- "3-8-11": {
- "sort": {
- "tag": "ModuleId",
- "contents": {
- "packageId": {
- "name": "test-package",
- "version": "0.1.0.0"
- },
- "tag": "ApproximateLocation",
- "moduleName": "Lib",
- "name": "Lib",
- "componentId": "exe-test-package-exe",
- "entity": "Mod"
- }
- },
- "description": "ImportDecl"
- },
- "6-8-16": {
- "internalId": "4",
- "sort": {
- "tag": "ValueId"
- },
- "description": "HsVar"
- },
- "5-1-5": {
- "internalId": "0",
- "sort": {
- "tag": "ValueId"
- },
- "description": "TypeSig"
- },
- "5-9-11": {
- "internalId": "2",
- "sort": {
- "tag": "TypeId"
- },
- "description": "HsTyVar"
- },
- "6-1-5": {
- "isBinder": true,
- "internalId": "0",
- "sort": {
- "tag": "ValueId"
- },
- "description": "Match"
- },
- "5-12-14": {
- "internalId": "3",
- "sort": {
- "tag": "TypeId"
- },
- "description": "HsTupleTy"
- }
- },
- "identifiers": {
- "7": {
- "isExported": false,
- "idType": {
- "components": [
- {
- "tag": "TyCon",
- "name": "RuntimeRep",
- "internalId": "6"
- }
- ]
- },
- "locationInfo": {
- "packageId": {
- "name": "ghc-prim",
- "version": "0.5.1.1"
- },
- "tag": "ApproximateLocation",
- "haddockAnchorId": "LiftedRep",
- "moduleName": "GHC.Types",
- "name": "LiftedRep",
- "componentId": "lib",
- "entity": "Val"
- },
- "nameSpace": "DataName",
- "internalId": "7",
- "sort": "External",
- "occName": "LiftedRep",
- "externalId": "ghc-prim-0.5.1.1|GHC.Types|Val|LiftedRep",
- "demangledOccName": "LiftedRep"
- },
- "0": {
- "isExported": true,
- "idType": {
- "components": [
- {
- "tag": "TyCon",
- "name": "IO",
- "internalId": "2"
- },
- {
- "tag": "Text",
- "contents": " ()"
- }
- ]
- },
- "locationInfo": {
- "packageId": {
- "name": "test-package",
- "version": "0.1.0.0"
- },
- "tag": "ExactLocation",
- "moduleName": "Main",
- "startLine": 6,
- "endLine": 6,
- "modulePath": "app/Main.hs",
- "startColumn": 1,
- "endColumn": 5
- },
- "nameSpace": "VarName",
- "internalId": "0",
- "details": "VanillaId",
- "sort": "External",
- "occName": "main",
- "externalId": "test-package-0.1.0.0|Main|Val|main",
- "demangledOccName": "main"
- },
- "4": {
- "isExported": false,
- "idType": {
- "components": [
- {
- "tag": "TyCon",
- "name": "IO",
- "internalId": "2"
- },
- {
- "tag": "Text",
- "contents": " ()"
- }
- ]
- },
- "doc": "<p><span>someFunc documentation</span></p>",
- "locationInfo": {
- "packageId": {
- "name": "test-package",
- "version": "0.1.0.0"
- },
- "tag": "ExactLocation",
- "moduleName": "Lib",
- "startLine": 9,
- "endLine": 9,
- "modulePath": "src/Lib.hs",
- "startColumn": 1,
- "endColumn": 9
- },
- "nameSpace": "VarName",
- "internalId": "4",
- "details": "VanillaId",
- "sort": "External",
- "occName": "someFunc",
- "externalId": "test-package-0.1.0.0|Lib|Val|someFunc",
- "demangledOccName": "someFunc"
- },
- "2": {
- "isExported": false,
- "idType": {
- "components": [
- {
- "tag": "Text",
- "contents": "* -> *"
- }
- ]
- },
- "locationInfo": {
- "packageId": {
- "name": "ghc-prim",
- "version": "0.5.1.1"
- },
- "tag": "ApproximateLocation",
- "haddockAnchorId": "IO",
- "moduleName": "GHC.Types",
- "name": "IO",
- "componentId": "lib",
- "entity": "Typ"
- },
- "nameSpace": "TcClsName",
- "internalId": "2",
- "sort": "External",
- "occName": "IO",
- "externalId": "ghc-prim-0.5.1.1|GHC.Types|Typ|IO",
- "demangledOccName": "IO"
- },
- "5": {
- "isExported": false,
- "idType": {
- "components": [
- {
- "tag": "TyCon",
- "name": "RuntimeRep",
- "internalId": "6"
- },
- {
- "tag": "Text",
- "contents": " -> *"
- }
- ]
- },
- "locationInfo": {
- "packageId": {
- "name": "ghc-prim",
- "version": "0.5.1.1"
- },
- "tag": "ApproximateLocation",
- "haddockAnchorId": "TYPE",
- "moduleName": "GHC.Prim",
- "name": "TYPE",
- "componentId": "lib",
- "entity": "Typ"
- },
- "nameSpace": "TcClsName",
- "internalId": "5",
- "sort": "External",
- "occName": "TYPE",
- "externalId": "ghc-prim-0.5.1.1|GHC.Prim|Typ|TYPE",
- "demangledOccName": "TYPE"
- },
- "3": {
- "isExported": false,
- "idType": {
- "components": [
- {
- "tag": "Text",
- "contents": "*"
- }
- ]
- },
- "locationInfo": {
- "packageId": {
- "name": "ghc-prim",
- "version": "0.5.1.1"
- },
- "tag": "ApproximateLocation",
- "haddockAnchorId": "-40--41-",
- "moduleName": "GHC.Tuple",
- "name": "()",
- "componentId": "lib",
- "entity": "Typ"
- },
- "nameSpace": "TcClsName",
- "internalId": "3",
- "sort": "External",
- "occName": "()",
- "externalId": "ghc-prim-0.5.1.1|GHC.Tuple|Typ|()",
- "demangledOccName": "()"
- }
- },
- "name": "Main",
- "sourceCodeHtml": "<table class=\"source-code\"><tbody><tr><td class=\"line-number\" id=\"LN1\">1</td><td class=\"line-content\" data-line=\"1\" id=\"LC1\"><span data-start=\"1\" data-end=\"18\">module Main where</span></td></tr><tr><td class=\"line-number\" id=\"LN2\">2</td><td class=\"line-content\" data-line=\"2\" id=\"LC2\"><span data-start=\"1\" data-end=\"1\"></span></td></tr><tr><td class=\"line-number\" id=\"LN3\">3</td><td class=\"line-content\" data-line=\"3\" id=\"LC3\"><span data-start=\"1\" data-end=\"8\">import </span><span class=\"identifier\" id=\"\" data-occurrence=\"3-8-11\" data-identifier=\"\" data-start=\"8\" data-end=\"11\">Lib</span></td></tr><tr><td class=\"line-number\" id=\"LN4\">4</td><td class=\"line-content\" data-line=\"4\" id=\"LC4\"><span data-start=\"1\" data-end=\"1\"></span></td></tr><tr><td class=\"line-number\" id=\"LN5\">5</td><td class=\"line-content\" data-line=\"5\" id=\"LC5\"><span class=\"identifier\" id=\"1\" data-occurrence=\"5-1-5\" data-identifier=\"0\" data-start=\"1\" data-end=\"5\">main</span><span data-start=\"5\" data-end=\"9\"> :: </span><span class=\"identifier\" id=\"2\" data-occurrence=\"5-9-11\" data-identifier=\"2\" data-start=\"9\" data-end=\"11\">IO</span><span data-start=\"11\" data-end=\"12\"> </span><span class=\"identifier\" id=\"3\" data-occurrence=\"5-12-14\" data-identifier=\"3\" data-start=\"12\" data-end=\"14\">()</span></td></tr><tr><td class=\"line-number\" id=\"LN6\">6</td><td class=\"line-content\" data-line=\"6\" id=\"LC6\"><span class=\"identifier\" id=\"1\" data-occurrence=\"6-1-5\" data-identifier=\"0\" data-start=\"1\" data-end=\"5\">main</span><span data-start=\"5\" data-end=\"8\"> = </span><span class=\"identifier\" id=\"4\" data-occurrence=\"6-8-16\" data-identifier=\"4\" data-start=\"8\" data-end=\"16\">someFunc</span></td></tr><tr><td class=\"line-number\" id=\"LN7\">7</td><td class=\"line-content\" data-line=\"7\" id=\"LC7\"><span data-start=\"1\" data-end=\"1\"></span></td></tr><tr><td class=\"line-number\" id=\"LN8\">8</td><td class=\"line-content\" data-line=\"8\" id=\"LC8\"><span data-start=\"1\" data-end=\"1\"></span></td></tr></tbody></table>",
- "id": "app/Main.hs",
- "declarations": [
- {
- "isExported": true,
- "lineNumber": 6,
- "declType": {
- "components": [
- {
- "tag": "TyCon",
- "name": "IO",
- "internalId": "2"
- },
- {
- "tag": "Text",
- "contents": " ()"
- }
- ]
- },
- "name": "main",
- "sort": "ValD"
- }
- ]
-};
-
-module.exports = function(app) {
- const express = require('express');
- let packagesRouter = express.Router();
-
- packagesRouter.get('/api/packages', function(req, res) {
- res.send(packages);
- });
-
- packagesRouter.get('/files/test-package-0.1.0.0/.haskell-code-explorer/packageInfo.json', function(req, res) {
- res.send(testPackage);
- });
-
- packagesRouter.get('/files/test-package-0.1.0.0/.haskell-code-explorer/app%252FMain.hs.json', function(req, res) {
- res.send(testModuleInfo);
- });
-
- app.use('/', packagesRouter);
-};
diff --git a/javascript/testem.js b/javascript/testem.js
deleted file mode 100644
index d406673..0000000
--- a/javascript/testem.js
+++ /dev/null
@@ -1,24 +0,0 @@
-/* eslint-env node */
-module.exports = {
- test_page: 'tests/index.html?hidepassed',
- disable_watching: true,
- launch_in_ci: [
- 'Chrome'
- ],
- launch_in_dev: [
- 'Chrome'
- ],
- browser_args: {
- Chrome: {
- mode: 'ci',
- args: [
- // --no-sandbox is needed when running Chrome inside a container
- process.env.TRAVIS ? '--no-sandbox' : null,
- '--disable-gpu',
- '--headless',
- '--remote-debugging-port=0',
- '--window-size=1440,900'
- ].filter(Boolean)
- }
- }
-};
diff --git a/javascript/tests/.eslintrc.js b/javascript/tests/.eslintrc.js
deleted file mode 100644
index fbf2555..0000000
--- a/javascript/tests/.eslintrc.js
+++ /dev/null
@@ -1,5 +0,0 @@
-module.exports = {
- env: {
- embertest: true
- }
-};
diff --git a/javascript/tests/acceptance/haskell-module-test.js b/javascript/tests/acceptance/haskell-module-test.js
deleted file mode 100644
index 4eab15d..0000000
--- a/javascript/tests/acceptance/haskell-module-test.js
+++ /dev/null
@@ -1,28 +0,0 @@
-import { module, test } from 'qunit';
-import { visit, currentURL, find } from '@ember/test-helpers';
-import { setupApplicationTest } from 'ember-qunit';
-
-
-module('Acceptance | haskell-module', function(hooks) {
- setupApplicationTest(hooks);
-
- //Test data is in 'server/mocks/packages.js'
- test('visiting /package/test-package-0.1.0.0/show/app/Main.hs', async function(assert) {
- await visit('/package/test-package-0.1.0.0/show/app/Main.hs');
-
- assert.equal(currentURL(), '/package/test-package-0.1.0.0/show/app/Main.hs');
-
- const lines = Array.from(find('tbody').children).map((tr) => {
- return tr.children[1].innerText;
- });
-
- assert.deepEqual(lines,["module Main where",
- "",
- "import Lib",
- "",
- "main :: IO ()",
- "main = someFunc",
- "",
- ""]);
- });
-});
diff --git a/javascript/tests/acceptance/package-test.js b/javascript/tests/acceptance/package-test.js
deleted file mode 100644
index 09b73f2..0000000
--- a/javascript/tests/acceptance/package-test.js
+++ /dev/null
@@ -1,23 +0,0 @@
-import { module, test } from 'qunit';
-import { visit, currentURL, find } from '@ember/test-helpers';
-import { setupApplicationTest } from 'ember-qunit';
-
-
-module('Acceptance | package', function(hooks) {
- setupApplicationTest(hooks);
-
- //Test data is in 'server/mocks/packages.js'
- test('visiting /package/test-package-0.1.0.0', async function(assert) {
- await visit('/package/test-package-0.1.0.0');
- assert.equal(currentURL(), '/package/test-package-0.1.0.0');
-
- const moduleNames = Array.from(find('ul.modules').children).map((li) => {
- return [li.innerText,li.children[0].getAttribute('href')];
- });
-
- assert.deepEqual(moduleNames,[["app/Main.hs","/package/test-package-0.1.0.0/show/app/Main.hs"],
- ["src/Lib.hs","/package/test-package-0.1.0.0/show/src/Lib.hs"],
- ["src/Types.hs","/package/test-package-0.1.0.0/show/src/Types.hs"],
- ["test/Spec.hs","/package/test-package-0.1.0.0/show/test/Spec.hs"]]);
- });
-});
diff --git a/javascript/tests/acceptance/packages-test.js b/javascript/tests/acceptance/packages-test.js
deleted file mode 100644
index 106e16a..0000000
--- a/javascript/tests/acceptance/packages-test.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import { module, test } from 'qunit';
-import { visit, currentURL, find } from '@ember/test-helpers';
-import { setupApplicationTest } from 'ember-qunit';
-
-module('Acceptance | packages', function(hooks) {
- setupApplicationTest(hooks);
-
- //Test data is in file 'server/mocks/packages.js'
- test('visiting /', async function(assert) {
- await visit('/');
- assert.equal(currentURL(), '/');
- const linkToPackage = find('ul a:first-child');
- assert.equal(linkToPackage.innerText, 'test-package-0.1.0.0');
- assert.equal(linkToPackage.getAttribute('href'), '/package/test-package-0.1.0.0');
- });
-});
diff --git a/javascript/tests/helpers/.gitkeep b/javascript/tests/helpers/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/javascript/tests/helpers/.gitkeep
+++ /dev/null
diff --git a/javascript/tests/index.html b/javascript/tests/index.html
deleted file mode 100644
index 06bfc02..0000000
--- a/javascript/tests/index.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <title>HaskellCodeExplorer Tests</title>
- <meta name="description" content="">
- <meta name="viewport" content="width=device-width, initial-scale=1">
-
- {{content-for "head"}}
- {{content-for "test-head"}}
-
- <link rel="stylesheet" href="{{rootURL}}assets/vendor.css">
- <link rel="stylesheet" href="{{rootURL}}assets/haskell-code-explorer.css">
- <link rel="stylesheet" href="{{rootURL}}assets/test-support.css">
-
- {{content-for "head-footer"}}
- {{content-for "test-head-footer"}}
- </head>
- <body>
- {{content-for "body"}}
- {{content-for "test-body"}}
-
- <script src="/testem.js" integrity=""></script>
- <script src="{{rootURL}}assets/vendor.js"></script>
- <script src="{{rootURL}}assets/test-support.js"></script>
- <script src="{{rootURL}}assets/haskell-code-explorer.js"></script>
- <script src="{{rootURL}}assets/tests.js"></script>
-
- {{content-for "body-footer"}}
- {{content-for "test-body-footer"}}
- </body>
-</html>
diff --git a/javascript/tests/integration/.gitkeep b/javascript/tests/integration/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/javascript/tests/integration/.gitkeep
+++ /dev/null
diff --git a/javascript/tests/integration/components/.gitkeep b/javascript/tests/integration/components/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/javascript/tests/integration/components/.gitkeep
+++ /dev/null
diff --git a/javascript/tests/test-helper.js b/javascript/tests/test-helper.js
deleted file mode 100644
index 0382a84..0000000
--- a/javascript/tests/test-helper.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import Application from '../app';
-import config from '../config/environment';
-import { setApplication } from '@ember/test-helpers';
-import { start } from 'ember-qunit';
-
-setApplication(Application.create(config.APP));
-
-start();
diff --git a/javascript/vendor/.gitkeep b/javascript/vendor/.gitkeep
deleted file mode 100644
index e69de29..0000000
--- a/javascript/vendor/.gitkeep
+++ /dev/null
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/AUTHORS.txt b/javascript/vendor/jquery-ui-1.12.1.custom/AUTHORS.txt
deleted file mode 100644
index a75056b..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/AUTHORS.txt
+++ /dev/null
@@ -1,333 +0,0 @@
-Authors ordered by first contribution
-A list of current team members is available at http://jqueryui.com/about
-
-Paul Bakaus <paul.bakaus@gmail.com>
-Richard Worth <rdworth@gmail.com>
-Yehuda Katz <wycats@gmail.com>
-Sean Catchpole <sean@sunsean.com>
-John Resig <jeresig@gmail.com>
-Tane Piper <piper.tane@gmail.com>
-Dmitri Gaskin <dmitrig01@gmail.com>
-Klaus Hartl <klaus.hartl@gmail.com>
-Stefan Petre <stefan.petre@gmail.com>
-Gilles van den Hoven <gilles@webunity.nl>
-Micheil Bryan Smith <micheil@brandedcode.com>
-Jörn Zaefferer <joern.zaefferer@gmail.com>
-Marc Grabanski <m@marcgrabanski.com>
-Keith Wood <kbwood@iinet.com.au>
-Brandon Aaron <brandon.aaron@gmail.com>
-Scott González <scott.gonzalez@gmail.com>
-Eduardo Lundgren <eduardolundgren@gmail.com>
-Aaron Eisenberger <aaronchi@gmail.com>
-Joan Piedra <theneojp@gmail.com>
-Bruno Basto <b.basto@gmail.com>
-Remy Sharp <remy@leftlogic.com>
-Bohdan Ganicky <bohdan.ganicky@gmail.com>
-David Bolter <david.bolter@gmail.com>
-Chi Cheng <cloudream@gmail.com>
-Ca-Phun Ung <pazu2k@gmail.com>
-Ariel Flesler <aflesler@gmail.com>
-Maggie Wachs <maggie@filamentgroup.com>
-Scott Jehl <scottjehl@gmail.com>
-Todd Parker <todd@filamentgroup.com>
-Andrew Powell <andrew@shellscape.org>
-Brant Burnett <btburnett3@gmail.com>
-Douglas Neiner <doug@dougneiner.com>
-Paul Irish <paul.irish@gmail.com>
-Ralph Whitbeck <ralph.whitbeck@gmail.com>
-Thibault Duplessis <thibault.duplessis@gmail.com>
-Dominique Vincent <dominique.vincent@toitl.com>
-Jack Hsu <jack.hsu@gmail.com>
-Adam Sontag <ajpiano@ajpiano.com>
-Carl Fürstenberg <carl@excito.com>
-Kevin Dalman <development@allpro.net>
-Alberto Fernández Capel <afcapel@gmail.com>
-Jacek Jędrzejewski (http://jacek.jedrzejewski.name)
-Ting Kuei <ting@kuei.com>
-Samuel Cormier-Iijima <sam@chide.it>
-Jon Palmer <jonspalmer@gmail.com>
-Ben Hollis <bhollis@amazon.com>
-Justin MacCarthy <Justin@Rubystars.biz>
-Eyal Kobrigo <kobrigo@hotmail.com>
-Tiago Freire <tiago.freire@gmail.com>
-Diego Tres <diegotres@gmail.com>
-Holger Rüprich <holger@rueprich.de>
-Ziling Zhao <zilingzhao@gmail.com>
-Mike Alsup <malsup@gmail.com>
-Robson Braga Araujo <robsonbraga@gmail.com>
-Pierre-Henri Ausseil <ph.ausseil@gmail.com>
-Christopher McCulloh <cmcculloh@gmail.com>
-Andrew Newcomb <ext.github@preceptsoftware.co.uk>
-Lim Chee Aun <cheeaun@gmail.com>
-Jorge Barreiro <yortx.barry@gmail.com>
-Daniel Steigerwald <daniel@steigerwald.cz>
-John Firebaugh <john_firebaugh@bigfix.com>
-John Enters <github@darkdark.net>
-Andrey Kapitcyn <ru.m157y@gmail.com>
-Dmitry Petrov <dpetroff@gmail.com>
-Eric Hynds <eric@hynds.net>
-Chairat Sunthornwiphat <pipo@sixhead.com>
-Josh Varner <josh.varner@gmail.com>
-Stéphane Raimbault <stephane.raimbault@gmail.com>
-Jay Merrifield <fracmak@gmail.com>
-J. Ryan Stinnett <jryans@gmail.com>
-Peter Heiberg <peter@heiberg.se>
-Alex Dovenmuehle <adovenmuehle@gmail.com>
-Jamie Gegerson <git@jamiegegerson.com>
-Raymond Schwartz <skeetergraphics@gmail.com>
-Phillip Barnes <philbar@gmail.com>
-Kyle Wilkinson <kai@wikyd.org>
-Khaled AlHourani <me@khaledalhourani.com>
-Marian Rudzynski <mr@impaled.org>
-Jean-Francois Remy <jeff@melix.org>
-Doug Blood <dougblood@gmail.com>
-Filippo Cavallarin <filippo.cavallarin@codseq.it>
-Heiko Henning <heiko@thehennings.ch>
-Aliaksandr Rahalevich <saksmlz@gmail.com>
-Mario Visic <mario@mariovisic.com>
-Xavi Ramirez <xavi.rmz@gmail.com>
-Max Schnur <max.schnur@gmail.com>
-Saji Nediyanchath <saji89@gmail.com>
-Corey Frang <gnarf37@gmail.com>
-Aaron Peterson <aaronp123@yahoo.com>
-Ivan Peters <ivan@ivanpeters.com>
-Mohamed Cherif Bouchelaghem <cherifbouchelaghem@yahoo.fr>
-Marcos Sousa <falecomigo@marcossousa.com>
-Michael DellaNoce <mdellanoce@mailtrust.com>
-George Marshall <echosx@gmail.com>
-Tobias Brunner <tobias@strongswan.org>
-Martin Solli <msolli@gmail.com>
-David Petersen <public@petersendidit.com>
-Dan Heberden <danheberden@gmail.com>
-William Kevin Manire <williamkmanire@gmail.com>
-Gilmore Davidson <gilmoreorless@gmail.com>
-Michael Wu <michaelmwu@gmail.com>
-Adam Parod <mystic414@gmail.com>
-Guillaume Gautreau <guillaume+github@ghusse.com>
-Marcel Toele <EleotleCram@gmail.com>
-Dan Streetman <ddstreet@ieee.org>
-Matt Hoskins <matt@nipltd.com>
-Giovanni Giacobbi <giovanni@giacobbi.net>
-Kyle Florence <kyle.florence@gmail.com>
-Pavol Hluchý <lopo@losys.sk>
-Hans Hillen <hans.hillen@gmail.com>
-Mark Johnson <virgofx@live.com>
-Trey Hunner <treyhunner@gmail.com>
-Shane Whittet <whittet@gmail.com>
-Edward A Faulkner <ef@alum.mit.edu>
-Adam Baratz <adam@adambaratz.com>
-Kato Kazuyoshi <kato.kazuyoshi@gmail.com>
-Eike Send <eike.send@gmail.com>
-Kris Borchers <kris.borchers@gmail.com>
-Eddie Monge <eddie@eddiemonge.com>
-Israel Tsadok <itsadok@gmail.com>
-Carson McDonald <carson@ioncannon.net>
-Jason Davies <jason@jasondavies.com>
-Garrison Locke <gplocke@gmail.com>
-David Murdoch <david@davidmurdoch.com>
-Benjamin Scott Boyle <benjamins.boyle@gmail.com>
-Jesse Baird <jebaird@gmail.com>
-Jonathan Vingiano <jvingiano@gmail.com>
-Dylan Just <dev@ephox.com>
-Hiroshi Tomita <tomykaira@gmail.com>
-Glenn Goodrich <glenn.goodrich@gmail.com>
-Tarafder Ashek-E-Elahi <mail.ashek@gmail.com>
-Ryan Neufeld <ryan@neufeldmail.com>
-Marc Neuwirth <marc.neuwirth@gmail.com>
-Philip Graham <philip.robert.graham@gmail.com>
-Benjamin Sterling <benjamin.sterling@kenzomedia.com>
-Wesley Walser <waw325@gmail.com>
-Kouhei Sutou <kou@clear-code.com>
-Karl Kirch <karlkrch@gmail.com>
-Chris Kelly <ckdake@ckdake.com>
-Jason Oster <jay@kodewerx.org>
-Felix Nagel <info@felixnagel.com>
-Alexander Polomoshnov <alex.polomoshnov@gmail.com>
-David Leal <dgleal@gmail.com>
-Igor Milla <igor.fsp.milla@gmail.com>
-Dave Methvin <dave.methvin@gmail.com>
-Florian Gutmann <f.gutmann@chronimo.com>
-Marwan Al Jubeh <marwan.aljubeh@gmail.com>
-Milan Broum <midlis@googlemail.com>
-Sebastian Sauer <info@dynpages.de>
-Gaëtan Muller <m.gaetan89@gmail.com>
-Michel Weimerskirch <michel@weimerskirch.net>
-William Griffiths <william@ycymro.com>
-Stojce Slavkovski <stojce@gmail.com>
-David Soms <david.soms@gmail.com>
-David De Sloovere <david.desloovere@outlook.com>
-Michael P. Jung <michael.jung@terreon.de>
-Shannon Pekary <spekary@gmail.com>
-Dan Wellman <danwellman@hotmail.com>
-Matthew Edward Hutton <meh@corefiling.co.uk>
-James Khoury <james@jameskhoury.com>
-Rob Loach <robloach@gmail.com>
-Alberto Monteiro <betimbrasil@gmail.com>
-Alex Rhea <alex.rhea@gmail.com>
-Krzysztof Rosiński <rozwell69@gmail.com>
-Ryan Olton <oltonr@gmail.com>
-Genie <386@mail.com>
-Rick Waldron <waldron.rick@gmail.com>
-Ian Simpson <spoonlikesham@gmail.com>
-Lev Kitsis <spam4lev@gmail.com>
-TJ VanToll <tj.vantoll@gmail.com>
-Justin Domnitz <jdomnitz@gmail.com>
-Douglas Cerna <douglascerna@yahoo.com>
-Bert ter Heide <bertjh@hotmail.com>
-Jasvir Nagra <jasvir@gmail.com>
-Yuriy Khabarov <13real008@gmail.com>
-Harri Kilpiö <harri.kilpio@gmail.com>
-Lado Lomidze <lado.lomidze@gmail.com>
-Amir E. Aharoni <amir.aharoni@mail.huji.ac.il>
-Simon Sattes <simon.sattes@gmail.com>
-Jo Liss <joliss42@gmail.com>
-Guntupalli Karunakar <karunakarg@yahoo.com>
-Shahyar Ghobadpour <shahyar@gmail.com>
-Lukasz Lipinski <uzza17@gmail.com>
-Timo Tijhof <krinklemail@gmail.com>
-Jason Moon <jmoon@socialcast.com>
-Martin Frost <martinf55@hotmail.com>
-Eneko Illarramendi <eneko@illarra.com>
-EungJun Yi <semtlenori@gmail.com>
-Courtland Allen <courtlandallen@gmail.com>
-Viktar Varvanovich <non4eg@gmail.com>
-Danny Trunk <dtrunk90@gmail.com>
-Pavel Stetina <pavel.stetina@nangu.tv>
-Michael Stay <metaweta@gmail.com>
-Steven Roussey <sroussey@gmail.com>
-Michael Hollis <hollis21@gmail.com>
-Lee Rowlands <lee.rowlands@previousnext.com.au>
-Timmy Willison <timmywillisn@gmail.com>
-Karl Swedberg <kswedberg@gmail.com>
-Baoju Yuan <the_guy_1987@hotmail.com>
-Maciej Mroziński <maciej.k.mrozinski@gmail.com>
-Luis Dalmolin <luis.nh@gmail.com>
-Mark Aaron Shirley <maspwr@gmail.com>
-Martin Hoch <martin@fidion.de>
-Jiayi Yang <tr870829@gmail.com>
-Philipp Benjamin Köppchen <xgxtpbk@gws.ms>
-Sindre Sorhus <sindresorhus@gmail.com>
-Bernhard Sirlinger <bernhard.sirlinger@tele2.de>
-Jared A. Scheel <jared@jaredscheel.com>
-Rafael Xavier de Souza <rxaviers@gmail.com>
-John Chen <zhang.z.chen@intel.com>
-Robert Beuligmann <robertbeuligmann@gmail.com>
-Dale Kocian <dale.kocian@gmail.com>
-Mike Sherov <mike.sherov@gmail.com>
-Andrew Couch <andy@couchand.com>
-Marc-Andre Lafortune <github@marc-andre.ca>
-Nate Eagle <nate.eagle@teamaol.com>
-David Souther <davidsouther@gmail.com>
-Mathias Stenbom <mathias@stenbom.com>
-Sergey Kartashov <ebishkek@yandex.ru>
-Avinash R <nashpapa@gmail.com>
-Ethan Romba <ethanromba@gmail.com>
-Cory Gackenheimer <cory.gack@gmail.com>
-Juan Pablo Kaniefsky <jpkaniefsky@gmail.com>
-Roman Salnikov <bardt.dz@gmail.com>
-Anika Henke <anika@selfthinker.org>
-Samuel Bovée <samycookie2000@yahoo.fr>
-Fabrício Matté <ult_combo@hotmail.com>
-Viktor Kojouharov <vkojouharov@gmail.com>
-Pawel Maruszczyk (http://hrabstwo.net)
-Pavel Selitskas <p.selitskas@gmail.com>
-Bjørn Johansen <post@bjornjohansen.no>
-Matthieu Penant <thieum22@hotmail.com>
-Dominic Barnes <dominic@dbarnes.info>
-David Sullivan <david.sullivan@gmail.com>
-Thomas Jaggi <thomas@responsive.ch>
-Vahid Sohrabloo <vahid4134@gmail.com>
-Travis Carden <travis.carden@gmail.com>
-Bruno M. Custódio <bruno@brunomcustodio.com>
-Nathanael Silverman <nathanael.silverman@gmail.com>
-Christian Wenz <christian@wenz.org>
-Steve Urmston <steve@urm.st>
-Zaven Muradyan <megalivoithos@gmail.com>
-Woody Gilk <shadowhand@deviantart.com>
-Zbigniew Motyka <zbigniew.motyka@gmail.com>
-Suhail Alkowaileet <xsoh.k7@gmail.com>
-Toshi MARUYAMA <marutosijp2@yahoo.co.jp>
-David Hansen <hansede@gmail.com>
-Brian Grinstead <briangrinstead@gmail.com>
-Christian Klammer <christian314159@gmail.com>
-Steven Luscher <jquerycla@steveluscher.com>
-Gan Eng Chin <engchin.gan@gmail.com>
-Gabriel Schulhof <gabriel.schulhof@intel.com>
-Alexander Schmitz <arschmitz@gmail.com>
-Vilhjálmur Skúlason <vis@dmm.is>
-Siebrand Mazeland <siebrand@kitano.nl>
-Mohsen Ekhtiari <mohsenekhtiari@yahoo.com>
-Pere Orga <gotrunks@gmail.com>
-Jasper de Groot <mail@ugomobi.com>
-Stephane Deschamps <stephane.deschamps@gmail.com>
-Jyoti Deka <dekajp@gmail.com>
-Andrei Picus <office.nightcrawler@gmail.com>
-Ondrej Novy <novy@ondrej.org>
-Jacob McCutcheon <jacob.mccutcheon@gmail.com>
-Monika Piotrowicz <monika.piotrowicz@gmail.com>
-Imants Horsts <imants.horsts@inbox.lv>
-Eric Dahl <eric.c.dahl@gmail.com>
-Dave Stein <dave@behance.com>
-Dylan Barrell <dylan@barrell.com>
-Daniel DeGroff <djdegroff@gmail.com>
-Michael Wiencek <mwtuea@gmail.com>
-Thomas Meyer <meyertee@gmail.com>
-Ruslan Yakhyaev <ruslan@ruslan.io>
-Brian J. Dowling <bjd-dev@simplicity.net>
-Ben Higgins <ben@extrahop.com>
-Yermo Lamers <yml@yml.com>
-Patrick Stapleton <github@gdi2290.com>
-Trisha Crowley <trisha.crowley@gmail.com>
-Usman Akeju <akeju00+github@gmail.com>
-Rodrigo Menezes <rod333@gmail.com>
-Jacques Perrault <jacques_perrault@us.ibm.com>
-Frederik Elvhage <frederik.elvhage@googlemail.com>
-Will Holley <willholley@gmail.com>
-Uri Gilad <antishok@gmail.com>
-Richard Gibson <richard.gibson@gmail.com>
-Simen Bekkhus <sbekkhus91@gmail.com>
-Chen Eshchar <eshcharc@gmail.com>
-Bruno Pérel <brunoperel@gmail.com>
-Mohammed Alshehri <m@dralshehri.com>
-Lisa Seacat DeLuca <ldeluca@us.ibm.com>
-Anne-Gaelle Colom <coloma@westminster.ac.uk>
-Adam Foster <slimfoster@gmail.com>
-Luke Page <luke.a.page@gmail.com>
-Daniel Owens <daniel@matchstickmixup.com>
-Michael Orchard <morchard@scottlogic.co.uk>
-Marcus Warren <marcus@envoke.com>
-Nils Heuermann <nils@world-of-scripts.de>
-Marco Ziech <marco@ziech.net>
-Patricia Juarez <patrixd@gmail.com>
-Ben Mosher <me@benmosher.com>
-Ablay Keldibek <atomio.ak@gmail.com>
-Thomas Applencourt <thomas.applencourt@irsamc.ups-tlse.fr>
-Jiabao Wu <jiabao.foss@gmail.com>
-Eric Lee Carraway <github@ericcarraway.com>
-Victor Homyakov <vkhomyackov@gmail.com>
-Myeongjin Lee <aranet100@gmail.com>
-Liran Sharir <lsharir@gmail.com>
-Weston Ruter <weston@xwp.co>
-Mani Mishra <manimishra902@gmail.com>
-Hannah Methvin <hannahmethvin@gmail.com>
-Leonardo Balter <leonardo.balter@gmail.com>
-Benjamin Albert <benjamin_a5@yahoo.com>
-Michał Gołębiowski <m.goleb@gmail.com>
-Alyosha Pushak <alyosha.pushak@gmail.com>
-Fahad Ahmad <fahadahmad41@hotmail.com>
-Matt Brundage <github@mattbrundage.com>
-Francesc Baeta <francesc.baeta@gmail.com>
-Piotr Baran <piotros@wp.pl>
-Mukul Hase <mukulhase@gmail.com>
-Konstantin Dinev <kdinev@mail.bw.edu>
-Rand Scullard <rand@randscullard.com>
-Dan Strohl <dan@wjcg.net>
-Maksim Ryzhikov <rv.maksim@gmail.com>
-Amine HADDAD <haddad@allegorie.tv>
-Amanpreet Singh <apsdehal@gmail.com>
-Alexey Balchunas <bleshik@gmail.com>
-Peter Kehl <peter.kehl@gmail.com>
-Peter Dave Hello <hsu@peterdavehello.org>
-Johannes Schäfer <johnschaefer@gmx.de>
-Ville Skyttä <ville.skytta@iki.fi>
-Ryan Oriecuia <ryan.oriecuia@visioncritical.com>
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/LICENSE.txt b/javascript/vendor/jquery-ui-1.12.1.custom/LICENSE.txt
deleted file mode 100644
index 4819e54..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/LICENSE.txt
+++ /dev/null
@@ -1,43 +0,0 @@
-Copyright jQuery Foundation and other contributors, https://jquery.org/
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/jquery/jquery-ui
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code contained within the demos directory.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-All files located in the node_modules and external directories are
-externally maintained libraries used by this software which have their
-own licenses; we recommend you read them, as their terms may differ from
-the terms above.
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/external/jquery/jquery.js b/javascript/vendor/jquery-ui-1.12.1.custom/external/jquery/jquery.js
deleted file mode 100644
index 7fc60fc..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/external/jquery/jquery.js
+++ /dev/null
@@ -1,11008 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.12.4
- * http://jquery.com/
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2016-05-20T17:17Z
- */
-
-(function( global, factory ) {
-
- if ( typeof module === "object" && typeof module.exports === "object" ) {
- // For CommonJS and CommonJS-like environments where a proper `window`
- // is present, execute the factory and get jQuery.
- // For environments that do not have a `window` with a `document`
- // (such as Node.js), expose a factory as module.exports.
- // This accentuates the need for the creation of a real `window`.
- // e.g. var jQuery = require("jquery")(window);
- // See ticket #14549 for more info.
- module.exports = global.document ?
- factory( global, true ) :
- function( w ) {
- if ( !w.document ) {
- throw new Error( "jQuery requires a window with a document" );
- }
- return factory( w );
- };
- } else {
- factory( global );
- }
-
-// Pass this if window is not defined yet
-}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
-
-// Support: Firefox 18+
-// Can't be in strict mode, several libs including ASP.NET trace
-// the stack via arguments.caller.callee and Firefox dies if
-// you try to trace through "use strict" call chains. (#13335)
-//"use strict";
-var deletedIds = [];
-
-var document = window.document;
-
-var slice = deletedIds.slice;
-
-var concat = deletedIds.concat;
-
-var push = deletedIds.push;
-
-var indexOf = deletedIds.indexOf;
-
-var class2type = {};
-
-var toString = class2type.toString;
-
-var hasOwn = class2type.hasOwnProperty;
-
-var support = {};
-
-
-
-var
- version = "1.12.4",
-
- // Define a local copy of jQuery
- jQuery = function( selector, context ) {
-
- // The jQuery object is actually just the init constructor 'enhanced'
- // Need init if jQuery is called (just allow error to be thrown if not included)
- return new jQuery.fn.init( selector, context );
- },
-
- // Support: Android<4.1, IE<9
- // Make sure we trim BOM and NBSP
- rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
-
- // Matches dashed string for camelizing
- rmsPrefix = /^-ms-/,
- rdashAlpha = /-([\da-z])/gi,
-
- // Used by jQuery.camelCase as callback to replace()
- fcamelCase = function( all, letter ) {
- return letter.toUpperCase();
- };
-
-jQuery.fn = jQuery.prototype = {
-
- // The current version of jQuery being used
- jquery: version,
-
- constructor: jQuery,
-
- // Start with an empty selector
- selector: "",
-
- // The default length of a jQuery object is 0
- length: 0,
-
- toArray: function() {
- return slice.call( this );
- },
-
- // Get the Nth element in the matched element set OR
- // Get the whole matched element set as a clean array
- get: function( num ) {
- return num != null ?
-
- // Return just the one element from the set
- ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
-
- // Return all the elements in a clean array
- slice.call( this );
- },
-
- // Take an array of elements and push it onto the stack
- // (returning the new matched element set)
- pushStack: function( elems ) {
-
- // Build a new jQuery matched element set
- var ret = jQuery.merge( this.constructor(), elems );
-
- // Add the old object onto the stack (as a reference)
- ret.prevObject = this;
- ret.context = this.context;
-
- // Return the newly-formed element set
- return ret;
- },
-
- // Execute a callback for every element in the matched set.
- each: function( callback ) {
- return jQuery.each( this, callback );
- },
-
- map: function( callback ) {
- return this.pushStack( jQuery.map( this, function( elem, i ) {
- return callback.call( elem, i, elem );
- } ) );
- },
-
- slice: function() {
- return this.pushStack( slice.apply( this, arguments ) );
- },
-
- first: function() {
- return this.eq( 0 );
- },
-
- last: function() {
- return this.eq( -1 );
- },
-
- eq: function( i ) {
- var len = this.length,
- j = +i + ( i < 0 ? len : 0 );
- return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
- },
-
- end: function() {
- return this.prevObject || this.constructor();
- },
-
- // For internal use only.
- // Behaves like an Array's method, not like a jQuery method.
- push: push,
- sort: deletedIds.sort,
- splice: deletedIds.splice
-};
-
-jQuery.extend = jQuery.fn.extend = function() {
- var src, copyIsArray, copy, name, options, clone,
- target = arguments[ 0 ] || {},
- i = 1,
- length = arguments.length,
- deep = false;
-
- // Handle a deep copy situation
- if ( typeof target === "boolean" ) {
- deep = target;
-
- // skip the boolean and the target
- target = arguments[ i ] || {};
- i++;
- }
-
- // Handle case when target is a string or something (possible in deep copy)
- if ( typeof target !== "object" && !jQuery.isFunction( target ) ) {
- target = {};
- }
-
- // extend jQuery itself if only one argument is passed
- if ( i === length ) {
- target = this;
- i--;
- }
-
- for ( ; i < length; i++ ) {
-
- // Only deal with non-null/undefined values
- if ( ( options = arguments[ i ] ) != null ) {
-
- // Extend the base object
- for ( name in options ) {
- src = target[ name ];
- copy = options[ name ];
-
- // Prevent never-ending loop
- if ( target === copy ) {
- continue;
- }
-
- // Recurse if we're merging plain objects or arrays
- if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
- ( copyIsArray = jQuery.isArray( copy ) ) ) ) {
-
- if ( copyIsArray ) {
- copyIsArray = false;
- clone = src && jQuery.isArray( src ) ? src : [];
-
- } else {
- clone = src && jQuery.isPlainObject( src ) ? src : {};
- }
-
- // Never move original objects, clone them
- target[ name ] = jQuery.extend( deep, clone, copy );
-
- // Don't bring in undefined values
- } else if ( copy !== undefined ) {
- target[ name ] = copy;
- }
- }
- }
- }
-
- // Return the modified object
- return target;
-};
-
-jQuery.extend( {
-
- // Unique for each copy of jQuery on the page
- expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
-
- // Assume jQuery is ready without the ready module
- isReady: true,
-
- error: function( msg ) {
- throw new Error( msg );
- },
-
- noop: function() {},
-
- // See test/unit/core.js for details concerning isFunction.
- // Since version 1.3, DOM methods and functions like alert
- // aren't supported. They return false on IE (#2968).
- isFunction: function( obj ) {
- return jQuery.type( obj ) === "function";
- },
-
- isArray: Array.isArray || function( obj ) {
- return jQuery.type( obj ) === "array";
- },
-
- isWindow: function( obj ) {
- /* jshint eqeqeq: false */
- return obj != null && obj == obj.window;
- },
-
- isNumeric: function( obj ) {
-
- // parseFloat NaNs numeric-cast false positives (null|true|false|"")
- // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
- // subtraction forces infinities to NaN
- // adding 1 corrects loss of precision from parseFloat (#15100)
- var realStringObj = obj && obj.toString();
- return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0;
- },
-
- isEmptyObject: function( obj ) {
- var name;
- for ( name in obj ) {
- return false;
- }
- return true;
- },
-
- isPlainObject: function( obj ) {
- var key;
-
- // Must be an Object.
- // Because of IE, we also have to check the presence of the constructor property.
- // Make sure that DOM nodes and window objects don't pass through, as well
- if ( !obj || jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
- return false;
- }
-
- try {
-
- // Not own constructor property must be Object
- if ( obj.constructor &&
- !hasOwn.call( obj, "constructor" ) &&
- !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
- return false;
- }
- } catch ( e ) {
-
- // IE8,9 Will throw exceptions on certain host objects #9897
- return false;
- }
-
- // Support: IE<9
- // Handle iteration over inherited properties before own properties.
- if ( !support.ownFirst ) {
- for ( key in obj ) {
- return hasOwn.call( obj, key );
- }
- }
-
- // Own properties are enumerated firstly, so to speed up,
- // if last one is own, then all properties are own.
- for ( key in obj ) {}
-
- return key === undefined || hasOwn.call( obj, key );
- },
-
- type: function( obj ) {
- if ( obj == null ) {
- return obj + "";
- }
- return typeof obj === "object" || typeof obj === "function" ?
- class2type[ toString.call( obj ) ] || "object" :
- typeof obj;
- },
-
- // Workarounds based on findings by Jim Driscoll
- // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
- globalEval: function( data ) {
- if ( data && jQuery.trim( data ) ) {
-
- // We use execScript on Internet Explorer
- // We use an anonymous function so that context is window
- // rather than jQuery in Firefox
- ( window.execScript || function( data ) {
- window[ "eval" ].call( window, data ); // jscs:ignore requireDotNotation
- } )( data );
- }
- },
-
- // Convert dashed to camelCase; used by the css and data modules
- // Microsoft forgot to hump their vendor prefix (#9572)
- camelCase: function( string ) {
- return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
- },
-
- nodeName: function( elem, name ) {
- return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
- },
-
- each: function( obj, callback ) {
- var length, i = 0;
-
- if ( isArrayLike( obj ) ) {
- length = obj.length;
- for ( ; i < length; i++ ) {
- if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
- break;
- }
- }
- } else {
- for ( i in obj ) {
- if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
- break;
- }
- }
- }
-
- return obj;
- },
-
- // Support: Android<4.1, IE<9
- trim: function( text ) {
- return text == null ?
- "" :
- ( text + "" ).replace( rtrim, "" );
- },
-
- // results is for internal usage only
- makeArray: function( arr, results ) {
- var ret = results || [];
-
- if ( arr != null ) {
- if ( isArrayLike( Object( arr ) ) ) {
- jQuery.merge( ret,
- typeof arr === "string" ?
- [ arr ] : arr
- );
- } else {
- push.call( ret, arr );
- }
- }
-
- return ret;
- },
-
- inArray: function( elem, arr, i ) {
- var len;
-
- if ( arr ) {
- if ( indexOf ) {
- return indexOf.call( arr, elem, i );
- }
-
- len = arr.length;
- i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
-
- for ( ; i < len; i++ ) {
-
- // Skip accessing in sparse arrays
- if ( i in arr && arr[ i ] === elem ) {
- return i;
- }
- }
- }
-
- return -1;
- },
-
- merge: function( first, second ) {
- var len = +second.length,
- j = 0,
- i = first.length;
-
- while ( j < len ) {
- first[ i++ ] = second[ j++ ];
- }
-
- // Support: IE<9
- // Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)
- if ( len !== len ) {
- while ( second[ j ] !== undefined ) {
- first[ i++ ] = second[ j++ ];
- }
- }
-
- first.length = i;
-
- return first;
- },
-
- grep: function( elems, callback, invert ) {
- var callbackInverse,
- matches = [],
- i = 0,
- length = elems.length,
- callbackExpect = !invert;
-
- // Go through the array, only saving the items
- // that pass the validator function
- for ( ; i < length; i++ ) {
- callbackInverse = !callback( elems[ i ], i );
- if ( callbackInverse !== callbackExpect ) {
- matches.push( elems[ i ] );
- }
- }
-
- return matches;
- },
-
- // arg is for internal usage only
- map: function( elems, callback, arg ) {
- var length, value,
- i = 0,
- ret = [];
-
- // Go through the array, translating each of the items to their new values
- if ( isArrayLike( elems ) ) {
- length = elems.length;
- for ( ; i < length; i++ ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret.push( value );
- }
- }
-
- // Go through every key on the object,
- } else {
- for ( i in elems ) {
- value = callback( elems[ i ], i, arg );
-
- if ( value != null ) {
- ret.push( value );
- }
- }
- }
-
- // Flatten any nested arrays
- return concat.apply( [], ret );
- },
-
- // A global GUID counter for objects
- guid: 1,
-
- // Bind a function to a context, optionally partially applying any
- // arguments.
- proxy: function( fn, context ) {
- var args, proxy, tmp;
-
- if ( typeof context === "string" ) {
- tmp = fn[ context ];
- context = fn;
- fn = tmp;
- }
-
- // Quick check to determine if target is callable, in the spec
- // this throws a TypeError, but we will just return undefined.
- if ( !jQuery.isFunction( fn ) ) {
- return undefined;
- }
-
- // Simulated bind
- args = slice.call( arguments, 2 );
- proxy = function() {
- return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
- };
-
- // Set the guid of unique handler to the same of original handler, so it can be removed
- proxy.guid = fn.guid = fn.guid || jQuery.guid++;
-
- return proxy;
- },
-
- now: function() {
- return +( new Date() );
- },
-
- // jQuery.support is not used in Core but other projects attach their
- // properties to it so it needs to exist.
- support: support
-} );
-
-// JSHint would error on this code due to the Symbol not being defined in ES5.
-// Defining this global in .jshintrc would create a danger of using the global
-// unguarded in another place, it seems safer to just disable JSHint for these
-// three lines.
-/* jshint ignore: start */
-if ( typeof Symbol === "function" ) {
- jQuery.fn[ Symbol.iterator ] = deletedIds[ Symbol.iterator ];
-}
-/* jshint ignore: end */
-
-// Populate the class2type map
-jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
-function( i, name ) {
- class2type[ "[object " + name + "]" ] = name.toLowerCase();
-} );
-
-function isArrayLike( obj ) {
-
- // Support: iOS 8.2 (not reproducible in simulator)
- // `in` check used to prevent JIT error (gh-2145)
- // hasOwn isn't used here due to false negatives
- // regarding Nodelist length in IE
- var length = !!obj && "length" in obj && obj.length,
- type = jQuery.type( obj );
-
- if ( type === "function" || jQuery.isWindow( obj ) ) {
- return false;
- }
-
- return type === "array" || length === 0 ||
- typeof length === "number" && length > 0 && ( length - 1 ) in obj;
-}
-var Sizzle =
-/*!
- * Sizzle CSS Selector Engine v2.2.1
- * http://sizzlejs.com/
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license
- * http://jquery.org/license
- *
- * Date: 2015-10-17
- */
-(function( window ) {
-
-var i,
- support,
- Expr,
- getText,
- isXML,
- tokenize,
- compile,
- select,
- outermostContext,
- sortInput,
- hasDuplicate,
-
- // Local document vars
- setDocument,
- document,
- docElem,
- documentIsHTML,
- rbuggyQSA,
- rbuggyMatches,
- matches,
- contains,
-
- // Instance-specific data
- expando = "sizzle" + 1 * new Date(),
- preferredDoc = window.document,
- dirruns = 0,
- done = 0,
- classCache = createCache(),
- tokenCache = createCache(),
- compilerCache = createCache(),
- sortOrder = function( a, b ) {
- if ( a === b ) {
- hasDuplicate = true;
- }
- return 0;
- },
-
- // General-purpose constants
- MAX_NEGATIVE = 1 << 31,
-
- // Instance methods
- hasOwn = ({}).hasOwnProperty,
- arr = [],
- pop = arr.pop,
- push_native = arr.push,
- push = arr.push,
- slice = arr.slice,
- // Use a stripped-down indexOf as it's faster than native
- // http://jsperf.com/thor-indexof-vs-for/5
- indexOf = function( list, elem ) {
- var i = 0,
- len = list.length;
- for ( ; i < len; i++ ) {
- if ( list[i] === elem ) {
- return i;
- }
- }
- return -1;
- },
-
- booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
-
- // Regular expressions
-
- // http://www.w3.org/TR/css3-selectors/#whitespace
- whitespace = "[\\x20\\t\\r\\n\\f]",
-
- // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
- identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
-
- // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
- attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
- // Operator (capture 2)
- "*([*^$|!~]?=)" + whitespace +
- // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
- "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
- "*\\]",
-
- pseudos = ":(" + identifier + ")(?:\\((" +
- // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
- // 1. quoted (capture 3; capture 4 or capture 5)
- "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
- // 2. simple (capture 6)
- "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
- // 3. anything else (capture 2)
- ".*" +
- ")\\)|)",
-
- // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
- rwhitespace = new RegExp( whitespace + "+", "g" ),
- rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
-
- rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
- rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
-
- rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
-
- rpseudo = new RegExp( pseudos ),
- ridentifier = new RegExp( "^" + identifier + "$" ),
-
- matchExpr = {
- "ID": new RegExp( "^#(" + identifier + ")" ),
- "CLASS": new RegExp( "^\\.(" + identifier + ")" ),
- "TAG": new RegExp( "^(" + identifier + "|[*])" ),
- "ATTR": new RegExp( "^" + attributes ),
- "PSEUDO": new RegExp( "^" + pseudos ),
- "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
- "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
- "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
- "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
- // For use in libraries implementing .is()
- // We use this for POS matching in `select`
- "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
- whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
- },
-
- rinputs = /^(?:input|select|textarea|button)$/i,
- rheader = /^h\d$/i,
-
- rnative = /^[^{]+\{\s*\[native \w/,
-
- // Easily-parseable/retrievable ID or TAG or CLASS selectors
- rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
-
- rsibling = /[+~]/,
- rescape = /'|\\/g,
-
- // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
- runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
- funescape = function( _, escaped, escapedWhitespace ) {
- var high = "0x" + escaped - 0x10000;
- // NaN means non-codepoint
- // Support: Firefox<24
- // Workaround erroneous numeric interpretation of +"0x"
- return high !== high || escapedWhitespace ?
- escaped :
- high < 0 ?
- // BMP codepoint
- String.fromCharCode( high + 0x10000 ) :
- // Supplemental Plane codepoint (surrogate pair)
- String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
- },
-
- // Used for iframes
- // See setDocument()
- // Removing the function wrapper causes a "Permission Denied"
- // error in IE
- unloadHandler = function() {
- setDocument();
- };
-
-// Optimize for push.apply( _, NodeList )
-try {
- push.apply(
- (arr = slice.call( preferredDoc.childNodes )),
- preferredDoc.childNodes
- );
- // Support: Android<4.0
- // Detect silently failing push.apply
- arr[ preferredDoc.childNodes.length ].nodeType;
-} catch ( e ) {
- push = { apply: arr.length ?
-
- // Leverage slice if possible
- function( target, els ) {
- push_native.apply( target, slice.call(els) );
- } :
-
- // Support: IE<9
- // Otherwise append directly
- function( target, els ) {
- var j = target.length,
- i = 0;
- // Can't trust NodeList.length
- while ( (target[j++] = els[i++]) ) {}
- target.length = j - 1;
- }
- };
-}
-
-function Sizzle( selector, context, results, seed ) {
- var m, i, elem, nid, nidselect, match, groups, newSelector,
- newContext = context && context.ownerDocument,
-
- // nodeType defaults to 9, since context defaults to document
- nodeType = context ? context.nodeType : 9;
-
- results = results || [];
-
- // Return early from calls with invalid selector or context
- if ( typeof selector !== "string" || !selector ||
- nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
-
- return results;
- }
-
- // Try to shortcut find operations (as opposed to filters) in HTML documents
- if ( !seed ) {
-
- if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
- setDocument( context );
- }
- context = context || document;
-
- if ( documentIsHTML ) {
-
- // If the selector is sufficiently simple, try using a "get*By*" DOM method
- // (excepting DocumentFragment context, where the methods don't exist)
- if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
-
- // ID selector
- if ( (m = match[1]) ) {
-
- // Document context
- if ( nodeType === 9 ) {
- if ( (elem = context.getElementById( m )) ) {
-
- // Support: IE, Opera, Webkit
- // TODO: identify versions
- // getElementById can match elements by name instead of ID
- if ( elem.id === m ) {
- results.push( elem );
- return results;
- }
- } else {
- return results;
- }
-
- // Element context
- } else {
-
- // Support: IE, Opera, Webkit
- // TODO: identify versions
- // getElementById can match elements by name instead of ID
- if ( newContext && (elem = newContext.getElementById( m )) &&
- contains( context, elem ) &&
- elem.id === m ) {
-
- results.push( elem );
- return results;
- }
- }
-
- // Type selector
- } else if ( match[2] ) {
- push.apply( results, context.getElementsByTagName( selector ) );
- return results;
-
- // Class selector
- } else if ( (m = match[3]) && support.getElementsByClassName &&
- context.getElementsByClassName ) {
-
- push.apply( results, context.getElementsByClassName( m ) );
- return results;
- }
- }
-
- // Take advantage of querySelectorAll
- if ( support.qsa &&
- !compilerCache[ selector + " " ] &&
- (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
-
- if ( nodeType !== 1 ) {
- newContext = context;
- newSelector = selector;
-
- // qSA looks outside Element context, which is not what we want
- // Thanks to Andrew Dupont for this workaround technique
- // Support: IE <=8
- // Exclude object elements
- } else if ( context.nodeName.toLowerCase() !== "object" ) {
-
- // Capture the context ID, setting it first if necessary
- if ( (nid = context.getAttribute( "id" )) ) {
- nid = nid.replace( rescape, "\\$&" );
- } else {
- context.setAttribute( "id", (nid = expando) );
- }
-
- // Prefix every selector in the list
- groups = tokenize( selector );
- i = groups.length;
- nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']";
- while ( i-- ) {
- groups[i] = nidselect + " " + toSelector( groups[i] );
- }
- newSelector = groups.join( "," );
-
- // Expand context for sibling selectors
- newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
- context;
- }
-
- if ( newSelector ) {
- try {
- push.apply( results,
- newContext.querySelectorAll( newSelector )
- );
- return results;
- } catch ( qsaError ) {
- } finally {
- if ( nid === expando ) {
- context.removeAttribute( "id" );
- }
- }
- }
- }
- }
- }
-
- // All others
- return select( selector.replace( rtrim, "$1" ), context, results, seed );
-}
-
-/**
- * Create key-value caches of limited size
- * @returns {function(string, object)} Returns the Object data after storing it on itself with
- * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
- * deleting the oldest entry
- */
-function createCache() {
- var keys = [];
-
- function cache( key, value ) {
- // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
- if ( keys.push( key + " " ) > Expr.cacheLength ) {
- // Only keep the most recent entries
- delete cache[ keys.shift() ];
- }
- return (cache[ key + " " ] = value);
- }
- return cache;
-}
-
-/**
- * Mark a function for special use by Sizzle
- * @param {Function} fn The function to mark
- */
-function markFunction( fn ) {
- fn[ expando ] = true;
- return fn;
-}
-
-/**
- * Support testing using an element
- * @param {Function} fn Passed the created div and expects a boolean result
- */
-function assert( fn ) {
- var div = document.createElement("div");
-
- try {
- return !!fn( div );
- } catch (e) {
- return false;
- } finally {
- // Remove from its parent by default
- if ( div.parentNode ) {
- div.parentNode.removeChild( div );
- }
- // release memory in IE
- div = null;
- }
-}
-
-/**
- * Adds the same handler for all of the specified attrs
- * @param {String} attrs Pipe-separated list of attributes
- * @param {Function} handler The method that will be applied
- */
-function addHandle( attrs, handler ) {
- var arr = attrs.split("|"),
- i = arr.length;
-
- while ( i-- ) {
- Expr.attrHandle[ arr[i] ] = handler;
- }
-}
-
-/**
- * Checks document order of two siblings
- * @param {Element} a
- * @param {Element} b
- * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
- */
-function siblingCheck( a, b ) {
- var cur = b && a,
- diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
- ( ~b.sourceIndex || MAX_NEGATIVE ) -
- ( ~a.sourceIndex || MAX_NEGATIVE );
-
- // Use IE sourceIndex if available on both nodes
- if ( diff ) {
- return diff;
- }
-
- // Check if b follows a
- if ( cur ) {
- while ( (cur = cur.nextSibling) ) {
- if ( cur === b ) {
- return -1;
- }
- }
- }
-
- return a ? 1 : -1;
-}
-
-/**
- * Returns a function to use in pseudos for input types
- * @param {String} type
- */
-function createInputPseudo( type ) {
- return function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && elem.type === type;
- };
-}
-
-/**
- * Returns a function to use in pseudos for buttons
- * @param {String} type
- */
-function createButtonPseudo( type ) {
- return function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return (name === "input" || name === "button") && elem.type === type;
- };
-}
-
-/**
- * Returns a function to use in pseudos for positionals
- * @param {Function} fn
- */
-function createPositionalPseudo( fn ) {
- return markFunction(function( argument ) {
- argument = +argument;
- return markFunction(function( seed, matches ) {
- var j,
- matchIndexes = fn( [], seed.length, argument ),
- i = matchIndexes.length;
-
- // Match elements found at the specified indexes
- while ( i-- ) {
- if ( seed[ (j = matchIndexes[i]) ] ) {
- seed[j] = !(matches[j] = seed[j]);
- }
- }
- });
- });
-}
-
-/**
- * Checks a node for validity as a Sizzle context
- * @param {Element|Object=} context
- * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
- */
-function testContext( context ) {
- return context && typeof context.getElementsByTagName !== "undefined" && context;
-}
-
-// Expose support vars for convenience
-support = Sizzle.support = {};
-
-/**
- * Detects XML nodes
- * @param {Element|Object} elem An element or a document
- * @returns {Boolean} True iff elem is a non-HTML XML node
- */
-isXML = Sizzle.isXML = function( elem ) {
- // documentElement is verified for cases where it doesn't yet exist
- // (such as loading iframes in IE - #4833)
- var documentElement = elem && (elem.ownerDocument || elem).documentElement;
- return documentElement ? documentElement.nodeName !== "HTML" : false;
-};
-
-/**
- * Sets document-related variables once based on the current document
- * @param {Element|Object} [doc] An element or document object to use to set the document
- * @returns {Object} Returns the current document
- */
-setDocument = Sizzle.setDocument = function( node ) {
- var hasCompare, parent,
- doc = node ? node.ownerDocument || node : preferredDoc;
-
- // Return early if doc is invalid or already selected
- if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
- return document;
- }
-
- // Update global variables
- document = doc;
- docElem = document.documentElement;
- documentIsHTML = !isXML( document );
-
- // Support: IE 9-11, Edge
- // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
- if ( (parent = document.defaultView) && parent.top !== parent ) {
- // Support: IE 11
- if ( parent.addEventListener ) {
- parent.addEventListener( "unload", unloadHandler, false );
-
- // Support: IE 9 - 10 only
- } else if ( parent.attachEvent ) {
- parent.attachEvent( "onunload", unloadHandler );
- }
- }
-
- /* Attributes
- ---------------------------------------------------------------------- */
-
- // Support: IE<8
- // Verify that getAttribute really returns attributes and not properties
- // (excepting IE8 booleans)
- support.attributes = assert(function( div ) {
- div.className = "i";
- return !div.getAttribute("className");
- });
-
- /* getElement(s)By*
- ---------------------------------------------------------------------- */
-
- // Check if getElementsByTagName("*") returns only elements
- support.getElementsByTagName = assert(function( div ) {
- div.appendChild( document.createComment("") );
- return !div.getElementsByTagName("*").length;
- });
-
- // Support: IE<9
- support.getElementsByClassName = rnative.test( document.getElementsByClassName );
-
- // Support: IE<10
- // Check if getElementById returns elements by name
- // The broken getElementById methods don't pick up programatically-set names,
- // so use a roundabout getElementsByName test
- support.getById = assert(function( div ) {
- docElem.appendChild( div ).id = expando;
- return !document.getElementsByName || !document.getElementsByName( expando ).length;
- });
-
- // ID find and filter
- if ( support.getById ) {
- Expr.find["ID"] = function( id, context ) {
- if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
- var m = context.getElementById( id );
- return m ? [ m ] : [];
- }
- };
- Expr.filter["ID"] = function( id ) {
- var attrId = id.replace( runescape, funescape );
- return function( elem ) {
- return elem.getAttribute("id") === attrId;
- };
- };
- } else {
- // Support: IE6/7
- // getElementById is not reliable as a find shortcut
- delete Expr.find["ID"];
-
- Expr.filter["ID"] = function( id ) {
- var attrId = id.replace( runescape, funescape );
- return function( elem ) {
- var node = typeof elem.getAttributeNode !== "undefined" &&
- elem.getAttributeNode("id");
- return node && node.value === attrId;
- };
- };
- }
-
- // Tag
- Expr.find["TAG"] = support.getElementsByTagName ?
- function( tag, context ) {
- if ( typeof context.getElementsByTagName !== "undefined" ) {
- return context.getElementsByTagName( tag );
-
- // DocumentFragment nodes don't have gEBTN
- } else if ( support.qsa ) {
- return context.querySelectorAll( tag );
- }
- } :
-
- function( tag, context ) {
- var elem,
- tmp = [],
- i = 0,
- // By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
- results = context.getElementsByTagName( tag );
-
- // Filter out possible comments
- if ( tag === "*" ) {
- while ( (elem = results[i++]) ) {
- if ( elem.nodeType === 1 ) {
- tmp.push( elem );
- }
- }
-
- return tmp;
- }
- return results;
- };
-
- // Class
- Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
- if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
- return context.getElementsByClassName( className );
- }
- };
-
- /* QSA/matchesSelector
- ---------------------------------------------------------------------- */
-
- // QSA and matchesSelector support
-
- // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
- rbuggyMatches = [];
-
- // qSa(:focus) reports false when true (Chrome 21)
- // We allow this because of a bug in IE8/9 that throws an error
- // whenever `document.activeElement` is accessed on an iframe
- // So, we allow :focus to pass through QSA all the time to avoid the IE error
- // See http://bugs.jquery.com/ticket/13378
- rbuggyQSA = [];
-
- if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
- // Build QSA regex
- // Regex strategy adopted from Diego Perini
- assert(function( div ) {
- // Select is set to empty string on purpose
- // This is to test IE's treatment of not explicitly
- // setting a boolean content attribute,
- // since its presence should be enough
- // http://bugs.jquery.com/ticket/12359
- docElem.appendChild( div ).innerHTML = "<a id='" + expando + "'></a>" +
- "<select id='" + expando + "-\r\\' msallowcapture=''>" +
- "<option selected=''></option></select>";
-
- // Support: IE8, Opera 11-12.16
- // Nothing should be selected when empty strings follow ^= or $= or *=
- // The test attribute must be unknown in Opera but "safe" for WinRT
- // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
- if ( div.querySelectorAll("[msallowcapture^='']").length ) {
- rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
- }
-
- // Support: IE8
- // Boolean attributes and "value" are not treated correctly
- if ( !div.querySelectorAll("[selected]").length ) {
- rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
- }
-
- // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
- if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
- rbuggyQSA.push("~=");
- }
-
- // Webkit/Opera - :checked should return selected option elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
- // IE8 throws error here and will not see later tests
- if ( !div.querySelectorAll(":checked").length ) {
- rbuggyQSA.push(":checked");
- }
-
- // Support: Safari 8+, iOS 8+
- // https://bugs.webkit.org/show_bug.cgi?id=136851
- // In-page `selector#id sibing-combinator selector` fails
- if ( !div.querySelectorAll( "a#" + expando + "+*" ).length ) {
- rbuggyQSA.push(".#.+[+~]");
- }
- });
-
- assert(function( div ) {
- // Support: Windows 8 Native Apps
- // The type and name attributes are restricted during .innerHTML assignment
- var input = document.createElement("input");
- input.setAttribute( "type", "hidden" );
- div.appendChild( input ).setAttribute( "name", "D" );
-
- // Support: IE8
- // Enforce case-sensitivity of name attribute
- if ( div.querySelectorAll("[name=d]").length ) {
- rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
- }
-
- // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
- // IE8 throws error here and will not see later tests
- if ( !div.querySelectorAll(":enabled").length ) {
- rbuggyQSA.push( ":enabled", ":disabled" );
- }
-
- // Opera 10-11 does not throw on post-comma invalid pseudos
- div.querySelectorAll("*,:x");
- rbuggyQSA.push(",.*:");
- });
- }
-
- if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
- docElem.webkitMatchesSelector ||
- docElem.mozMatchesSelector ||
- docElem.oMatchesSelector ||
- docElem.msMatchesSelector) )) ) {
-
- assert(function( div ) {
- // Check to see if it's possible to do matchesSelector
- // on a disconnected node (IE 9)
- support.disconnectedMatch = matches.call( div, "div" );
-
- // This should fail with an exception
- // Gecko does not error, returns false instead
- matches.call( div, "[s!='']:x" );
- rbuggyMatches.push( "!=", pseudos );
- });
- }
-
- rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
- rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
-
- /* Contains
- ---------------------------------------------------------------------- */
- hasCompare = rnative.test( docElem.compareDocumentPosition );
-
- // Element contains another
- // Purposefully self-exclusive
- // As in, an element does not contain itself
- contains = hasCompare || rnative.test( docElem.contains ) ?
- function( a, b ) {
- var adown = a.nodeType === 9 ? a.documentElement : a,
- bup = b && b.parentNode;
- return a === bup || !!( bup && bup.nodeType === 1 && (
- adown.contains ?
- adown.contains( bup ) :
- a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
- ));
- } :
- function( a, b ) {
- if ( b ) {
- while ( (b = b.parentNode) ) {
- if ( b === a ) {
- return true;
- }
- }
- }
- return false;
- };
-
- /* Sorting
- ---------------------------------------------------------------------- */
-
- // Document order sorting
- sortOrder = hasCompare ?
- function( a, b ) {
-
- // Flag for duplicate removal
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
- }
-
- // Sort on method existence if only one input has compareDocumentPosition
- var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
- if ( compare ) {
- return compare;
- }
-
- // Calculate position if both inputs belong to the same document
- compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
- a.compareDocumentPosition( b ) :
-
- // Otherwise we know they are disconnected
- 1;
-
- // Disconnected nodes
- if ( compare & 1 ||
- (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
-
- // Choose the first element that is related to our preferred document
- if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
- return -1;
- }
- if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
- return 1;
- }
-
- // Maintain original order
- return sortInput ?
- ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
- 0;
- }
-
- return compare & 4 ? -1 : 1;
- } :
- function( a, b ) {
- // Exit early if the nodes are identical
- if ( a === b ) {
- hasDuplicate = true;
- return 0;
- }
-
- var cur,
- i = 0,
- aup = a.parentNode,
- bup = b.parentNode,
- ap = [ a ],
- bp = [ b ];
-
- // Parentless nodes are either documents or disconnected
- if ( !aup || !bup ) {
- return a === document ? -1 :
- b === document ? 1 :
- aup ? -1 :
- bup ? 1 :
- sortInput ?
- ( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
- 0;
-
- // If the nodes are siblings, we can do a quick check
- } else if ( aup === bup ) {
- return siblingCheck( a, b );
- }
-
- // Otherwise we need full lists of their ancestors for comparison
- cur = a;
- while ( (cur = cur.parentNode) ) {
- ap.unshift( cur );
- }
- cur = b;
- while ( (cur = cur.parentNode) ) {
- bp.unshift( cur );
- }
-
- // Walk down the tree looking for a discrepancy
- while ( ap[i] === bp[i] ) {
- i++;
- }
-
- return i ?
- // Do a sibling check if the nodes have a common ancestor
- siblingCheck( ap[i], bp[i] ) :
-
- // Otherwise nodes in our document sort first
- ap[i] === preferredDoc ? -1 :
- bp[i] === preferredDoc ? 1 :
- 0;
- };
-
- return document;
-};
-
-Sizzle.matches = function( expr, elements ) {
- return Sizzle( expr, null, null, elements );
-};
-
-Sizzle.matchesSelector = function( elem, expr ) {
- // Set document vars if needed
- if ( ( elem.ownerDocument || elem ) !== document ) {
- setDocument( elem );
- }
-
- // Make sure that attribute selectors are quoted
- expr = expr.replace( rattributeQuotes, "='$1']" );
-
- if ( support.matchesSelector && documentIsHTML &&
- !compilerCache[ expr + " " ] &&
- ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
- ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
-
- try {
- var ret = matches.call( elem, expr );
-
- // IE 9's matchesSelector returns false on disconnected nodes
- if ( ret || support.disconnectedMatch ||
- // As well, disconnected nodes are said to be in a document
- // fragment in IE 9
- elem.document && elem.document.nodeType !== 11 ) {
- return ret;
- }
- } catch (e) {}
- }
-
- return Sizzle( expr, document, null, [ elem ] ).length > 0;
-};
-
-Sizzle.contains = function( context, elem ) {
- // Set document vars if needed
- if ( ( context.ownerDocument || context ) !== document ) {
- setDocument( context );
- }
- return contains( context, elem );
-};
-
-Sizzle.attr = function( elem, name ) {
- // Set document vars if needed
- if ( ( elem.ownerDocument || elem ) !== document ) {
- setDocument( elem );
- }
-
- var fn = Expr.attrHandle[ name.toLowerCase() ],
- // Don't get fooled by Object.prototype properties (jQuery #13807)
- val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
- fn( elem, name, !documentIsHTML ) :
- undefined;
-
- return val !== undefined ?
- val :
- support.attributes || !documentIsHTML ?
- elem.getAttribute( name ) :
- (val = elem.getAttributeNode(name)) && val.specified ?
- val.value :
- null;
-};
-
-Sizzle.error = function( msg ) {
- throw new Error( "Syntax error, unrecognized expression: " + msg );
-};
-
-/**
- * Document sorting and removing duplicates
- * @param {ArrayLike} results
- */
-Sizzle.uniqueSort = function( results ) {
- var elem,
- duplicates = [],
- j = 0,
- i = 0;
-
- // Unless we *know* we can detect duplicates, assume their presence
- hasDuplicate = !support.detectDuplicates;
- sortInput = !support.sortStable && results.slice( 0 );
- results.sort( sortOrder );
-
- if ( hasDuplicate ) {
- while ( (elem = results[i++]) ) {
- if ( elem === results[ i ] ) {
- j = duplicates.push( i );
- }
- }
- while ( j-- ) {
- results.splice( duplicates[ j ], 1 );
- }
- }
-
- // Clear input after sorting to release objects
- // See https://github.com/jquery/sizzle/pull/225
- sortInput = null;
-
- return results;
-};
-
-/**
- * Utility function for retrieving the text value of an array of DOM nodes
- * @param {Array|Element} elem
- */
-getText = Sizzle.getText = function( elem ) {
- var node,
- ret = "",
- i = 0,
- nodeType = elem.nodeType;
-
- if ( !nodeType ) {
- // If no nodeType, this is expected to be an array
- while ( (node = elem[i++]) ) {
- // Do not traverse comment nodes
- ret += getText( node );
- }
- } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
- // Use textContent for elements
- // innerText usage removed for consistency of new lines (jQuery #11153)
- if ( typeof elem.textContent === "string" ) {
- return elem.textContent;
- } else {
- // Traverse its children
- for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
- ret += getText( elem );
- }
- }
- } else if ( nodeType === 3 || nodeType === 4 ) {
- return elem.nodeValue;
- }
- // Do not include comment or processing instruction nodes
-
- return ret;
-};
-
-Expr = Sizzle.selectors = {
-
- // Can be adjusted by the user
- cacheLength: 50,
-
- createPseudo: markFunction,
-
- match: matchExpr,
-
- attrHandle: {},
-
- find: {},
-
- relative: {
- ">": { dir: "parentNode", first: true },
- " ": { dir: "parentNode" },
- "+": { dir: "previousSibling", first: true },
- "~": { dir: "previousSibling" }
- },
-
- preFilter: {
- "ATTR": function( match ) {
- match[1] = match[1].replace( runescape, funescape );
-
- // Move the given value to match[3] whether quoted or unquoted
- match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
-
- if ( match[2] === "~=" ) {
- match[3] = " " + match[3] + " ";
- }
-
- return match.slice( 0, 4 );
- },
-
- "CHILD": function( match ) {
- /* matches from matchExpr["CHILD"]
- 1 type (only|nth|...)
- 2 what (child|of-type)
- 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
- 4 xn-component of xn+y argument ([+-]?\d*n|)
- 5 sign of xn-component
- 6 x of xn-component
- 7 sign of y-component
- 8 y of y-component
- */
- match[1] = match[1].toLowerCase();
-
- if ( match[1].slice( 0, 3 ) === "nth" ) {
- // nth-* requires argument
- if ( !match[3] ) {
- Sizzle.error( match[0] );
- }
-
- // numeric x and y parameters for Expr.filter.CHILD
- // remember that false/true cast respectively to 0/1
- match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
- match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
-
- // other types prohibit arguments
- } else if ( match[3] ) {
- Sizzle.error( match[0] );
- }
-
- return match;
- },
-
- "PSEUDO": function( match ) {
- var excess,
- unquoted = !match[6] && match[2];
-
- if ( matchExpr["CHILD"].test( match[0] ) ) {
- return null;
- }
-
- // Accept quoted arguments as-is
- if ( match[3] ) {
- match[2] = match[4] || match[5] || "";
-
- // Strip excess characters from unquoted arguments
- } else if ( unquoted && rpseudo.test( unquoted ) &&
- // Get excess from tokenize (recursively)
- (excess = tokenize( unquoted, true )) &&
- // advance to the next closing parenthesis
- (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
-
- // excess is a negative index
- match[0] = match[0].slice( 0, excess );
- match[2] = unquoted.slice( 0, excess );
- }
-
- // Return only captures needed by the pseudo filter method (type and argument)
- return match.slice( 0, 3 );
- }
- },
-
- filter: {
-
- "TAG": function( nodeNameSelector ) {
- var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
- return nodeNameSelector === "*" ?
- function() { return true; } :
- function( elem ) {
- return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
- };
- },
-
- "CLASS": function( className ) {
- var pattern = classCache[ className + " " ];
-
- return pattern ||
- (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
- classCache( className, function( elem ) {
- return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
- });
- },
-
- "ATTR": function( name, operator, check ) {
- return function( elem ) {
- var result = Sizzle.attr( elem, name );
-
- if ( result == null ) {
- return operator === "!=";
- }
- if ( !operator ) {
- return true;
- }
-
- result += "";
-
- return operator === "=" ? result === check :
- operator === "!=" ? result !== check :
- operator === "^=" ? check && result.indexOf( check ) === 0 :
- operator === "*=" ? check && result.indexOf( check ) > -1 :
- operator === "$=" ? check && result.slice( -check.length ) === check :
- operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
- operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
- false;
- };
- },
-
- "CHILD": function( type, what, argument, first, last ) {
- var simple = type.slice( 0, 3 ) !== "nth",
- forward = type.slice( -4 ) !== "last",
- ofType = what === "of-type";
-
- return first === 1 && last === 0 ?
-
- // Shortcut for :nth-*(n)
- function( elem ) {
- return !!elem.parentNode;
- } :
-
- function( elem, context, xml ) {
- var cache, uniqueCache, outerCache, node, nodeIndex, start,
- dir = simple !== forward ? "nextSibling" : "previousSibling",
- parent = elem.parentNode,
- name = ofType && elem.nodeName.toLowerCase(),
- useCache = !xml && !ofType,
- diff = false;
-
- if ( parent ) {
-
- // :(first|last|only)-(child|of-type)
- if ( simple ) {
- while ( dir ) {
- node = elem;
- while ( (node = node[ dir ]) ) {
- if ( ofType ?
- node.nodeName.toLowerCase() === name :
- node.nodeType === 1 ) {
-
- return false;
- }
- }
- // Reverse direction for :only-* (if we haven't yet done so)
- start = dir = type === "only" && !start && "nextSibling";
- }
- return true;
- }
-
- start = [ forward ? parent.firstChild : parent.lastChild ];
-
- // non-xml :nth-child(...) stores cache data on `parent`
- if ( forward && useCache ) {
-
- // Seek `elem` from a previously-cached index
-
- // ...in a gzip-friendly way
- node = parent;
- outerCache = node[ expando ] || (node[ expando ] = {});
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
-
- cache = uniqueCache[ type ] || [];
- nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
- diff = nodeIndex && cache[ 2 ];
- node = nodeIndex && parent.childNodes[ nodeIndex ];
-
- while ( (node = ++nodeIndex && node && node[ dir ] ||
-
- // Fallback to seeking `elem` from the start
- (diff = nodeIndex = 0) || start.pop()) ) {
-
- // When found, cache indexes on `parent` and break
- if ( node.nodeType === 1 && ++diff && node === elem ) {
- uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
- break;
- }
- }
-
- } else {
- // Use previously-cached element index if available
- if ( useCache ) {
- // ...in a gzip-friendly way
- node = elem;
- outerCache = node[ expando ] || (node[ expando ] = {});
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
-
- cache = uniqueCache[ type ] || [];
- nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
- diff = nodeIndex;
- }
-
- // xml :nth-child(...)
- // or :nth-last-child(...) or :nth(-last)?-of-type(...)
- if ( diff === false ) {
- // Use the same loop as above to seek `elem` from the start
- while ( (node = ++nodeIndex && node && node[ dir ] ||
- (diff = nodeIndex = 0) || start.pop()) ) {
-
- if ( ( ofType ?
- node.nodeName.toLowerCase() === name :
- node.nodeType === 1 ) &&
- ++diff ) {
-
- // Cache the index of each encountered element
- if ( useCache ) {
- outerCache = node[ expando ] || (node[ expando ] = {});
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ node.uniqueID ] ||
- (outerCache[ node.uniqueID ] = {});
-
- uniqueCache[ type ] = [ dirruns, diff ];
- }
-
- if ( node === elem ) {
- break;
- }
- }
- }
- }
- }
-
- // Incorporate the offset, then check against cycle size
- diff -= last;
- return diff === first || ( diff % first === 0 && diff / first >= 0 );
- }
- };
- },
-
- "PSEUDO": function( pseudo, argument ) {
- // pseudo-class names are case-insensitive
- // http://www.w3.org/TR/selectors/#pseudo-classes
- // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
- // Remember that setFilters inherits from pseudos
- var args,
- fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
- Sizzle.error( "unsupported pseudo: " + pseudo );
-
- // The user may use createPseudo to indicate that
- // arguments are needed to create the filter function
- // just as Sizzle does
- if ( fn[ expando ] ) {
- return fn( argument );
- }
-
- // But maintain support for old signatures
- if ( fn.length > 1 ) {
- args = [ pseudo, pseudo, "", argument ];
- return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
- markFunction(function( seed, matches ) {
- var idx,
- matched = fn( seed, argument ),
- i = matched.length;
- while ( i-- ) {
- idx = indexOf( seed, matched[i] );
- seed[ idx ] = !( matches[ idx ] = matched[i] );
- }
- }) :
- function( elem ) {
- return fn( elem, 0, args );
- };
- }
-
- return fn;
- }
- },
-
- pseudos: {
- // Potentially complex pseudos
- "not": markFunction(function( selector ) {
- // Trim the selector passed to compile
- // to avoid treating leading and trailing
- // spaces as combinators
- var input = [],
- results = [],
- matcher = compile( selector.replace( rtrim, "$1" ) );
-
- return matcher[ expando ] ?
- markFunction(function( seed, matches, context, xml ) {
- var elem,
- unmatched = matcher( seed, null, xml, [] ),
- i = seed.length;
-
- // Match elements unmatched by `matcher`
- while ( i-- ) {
- if ( (elem = unmatched[i]) ) {
- seed[i] = !(matches[i] = elem);
- }
- }
- }) :
- function( elem, context, xml ) {
- input[0] = elem;
- matcher( input, null, xml, results );
- // Don't keep the element (issue #299)
- input[0] = null;
- return !results.pop();
- };
- }),
-
- "has": markFunction(function( selector ) {
- return function( elem ) {
- return Sizzle( selector, elem ).length > 0;
- };
- }),
-
- "contains": markFunction(function( text ) {
- text = text.replace( runescape, funescape );
- return function( elem ) {
- return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
- };
- }),
-
- // "Whether an element is represented by a :lang() selector
- // is based solely on the element's language value
- // being equal to the identifier C,
- // or beginning with the identifier C immediately followed by "-".
- // The matching of C against the element's language value is performed case-insensitively.
- // The identifier C does not have to be a valid language name."
- // http://www.w3.org/TR/selectors/#lang-pseudo
- "lang": markFunction( function( lang ) {
- // lang value must be a valid identifier
- if ( !ridentifier.test(lang || "") ) {
- Sizzle.error( "unsupported lang: " + lang );
- }
- lang = lang.replace( runescape, funescape ).toLowerCase();
- return function( elem ) {
- var elemLang;
- do {
- if ( (elemLang = documentIsHTML ?
- elem.lang :
- elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
-
- elemLang = elemLang.toLowerCase();
- return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
- }
- } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
- return false;
- };
- }),
-
- // Miscellaneous
- "target": function( elem ) {
- var hash = window.location && window.location.hash;
- return hash && hash.slice( 1 ) === elem.id;
- },
-
- "root": function( elem ) {
- return elem === docElem;
- },
-
- "focus": function( elem ) {
- return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
- },
-
- // Boolean properties
- "enabled": function( elem ) {
- return elem.disabled === false;
- },
-
- "disabled": function( elem ) {
- return elem.disabled === true;
- },
-
- "checked": function( elem ) {
- // In CSS3, :checked should return both checked and selected elements
- // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
- var nodeName = elem.nodeName.toLowerCase();
- return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
- },
-
- "selected": function( elem ) {
- // Accessing this property makes selected-by-default
- // options in Safari work properly
- if ( elem.parentNode ) {
- elem.parentNode.selectedIndex;
- }
-
- return elem.selected === true;
- },
-
- // Contents
- "empty": function( elem ) {
- // http://www.w3.org/TR/selectors/#empty-pseudo
- // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
- // but not by others (comment: 8; processing instruction: 7; etc.)
- // nodeType < 6 works because attributes (2) do not appear as children
- for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
- if ( elem.nodeType < 6 ) {
- return false;
- }
- }
- return true;
- },
-
- "parent": function( elem ) {
- return !Expr.pseudos["empty"]( elem );
- },
-
- // Element/input types
- "header": function( elem ) {
- return rheader.test( elem.nodeName );
- },
-
- "input": function( elem ) {
- return rinputs.test( elem.nodeName );
- },
-
- "button": function( elem ) {
- var name = elem.nodeName.toLowerCase();
- return name === "input" && elem.type === "button" || name === "button";
- },
-
- "text": function( elem ) {
- var attr;
- return elem.nodeName.toLowerCase() === "input" &&
- elem.type === "text" &&
-
- // Support: IE<8
- // New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
- ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
- },
-
- // Position-in-collection
- "first": createPositionalPseudo(function() {
- return [ 0 ];
- }),
-
- "last": createPositionalPseudo(function( matchIndexes, length ) {
- return [ length - 1 ];
- }),
-
- "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
- return [ argument < 0 ? argument + length : argument ];
- }),
-
- "even": createPositionalPseudo(function( matchIndexes, length ) {
- var i = 0;
- for ( ; i < length; i += 2 ) {
- matchIndexes.push( i );
- }
- return matchIndexes;
- }),
-
- "odd": createPositionalPseudo(function( matchIndexes, length ) {
- var i = 1;
- for ( ; i < length; i += 2 ) {
- matchIndexes.push( i );
- }
- return matchIndexes;
- }),
-
- "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
- var i = argument < 0 ? argument + length : argument;
- for ( ; --i >= 0; ) {
- matchIndexes.push( i );
- }
- return matchIndexes;
- }),
-
- "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
- var i = argument < 0 ? argument + length : argument;
- for ( ; ++i < length; ) {
- matchIndexes.push( i );
- }
- return matchIndexes;
- })
- }
-};
-
-Expr.pseudos["nth"] = Expr.pseudos["eq"];
-
-// Add button/input type pseudos
-for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
- Expr.pseudos[ i ] = createInputPseudo( i );
-}
-for ( i in { submit: true, reset: true } ) {
- Expr.pseudos[ i ] = createButtonPseudo( i );
-}
-
-// Easy API for creating new setFilters
-function setFilters() {}
-setFilters.prototype = Expr.filters = Expr.pseudos;
-Expr.setFilters = new setFilters();
-
-tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
- var matched, match, tokens, type,
- soFar, groups, preFilters,
- cached = tokenCache[ selector + " " ];
-
- if ( cached ) {
- return parseOnly ? 0 : cached.slice( 0 );
- }
-
- soFar = selector;
- groups = [];
- preFilters = Expr.preFilter;
-
- while ( soFar ) {
-
- // Comma and first run
- if ( !matched || (match = rcomma.exec( soFar )) ) {
- if ( match ) {
- // Don't consume trailing commas as valid
- soFar = soFar.slice( match[0].length ) || soFar;
- }
- groups.push( (tokens = []) );
- }
-
- matched = false;
-
- // Combinators
- if ( (match = rcombinators.exec( soFar )) ) {
- matched = match.shift();
- tokens.push({
- value: matched,
- // Cast descendant combinators to space
- type: match[0].replace( rtrim, " " )
- });
- soFar = soFar.slice( matched.length );
- }
-
- // Filters
- for ( type in Expr.filter ) {
- if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
- (match = preFilters[ type ]( match ))) ) {
- matched = match.shift();
- tokens.push({
- value: matched,
- type: type,
- matches: match
- });
- soFar = soFar.slice( matched.length );
- }
- }
-
- if ( !matched ) {
- break;
- }
- }
-
- // Return the length of the invalid excess
- // if we're just parsing
- // Otherwise, throw an error or return tokens
- return parseOnly ?
- soFar.length :
- soFar ?
- Sizzle.error( selector ) :
- // Cache the tokens
- tokenCache( selector, groups ).slice( 0 );
-};
-
-function toSelector( tokens ) {
- var i = 0,
- len = tokens.length,
- selector = "";
- for ( ; i < len; i++ ) {
- selector += tokens[i].value;
- }
- return selector;
-}
-
-function addCombinator( matcher, combinator, base ) {
- var dir = combinator.dir,
- checkNonElements = base && dir === "parentNode",
- doneName = done++;
-
- return combinator.first ?
- // Check against closest ancestor/preceding element
- function( elem, context, xml ) {
- while ( (elem = elem[ dir ]) ) {
- if ( elem.nodeType === 1 || checkNonElements ) {
- return matcher( elem, context, xml );
- }
- }
- } :
-
- // Check against all ancestor/preceding elements
- function( elem, context, xml ) {
- var oldCache, uniqueCache, outerCache,
- newCache = [ dirruns, doneName ];
-
- // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
- if ( xml ) {
- while ( (elem = elem[ dir ]) ) {
- if ( elem.nodeType === 1 || checkNonElements ) {
- if ( matcher( elem, context, xml ) ) {
- return true;
- }
- }
- }
- } else {
- while ( (elem = elem[ dir ]) ) {
- if ( elem.nodeType === 1 || checkNonElements ) {
- outerCache = elem[ expando ] || (elem[ expando ] = {});
-
- // Support: IE <9 only
- // Defend against cloned attroperties (jQuery gh-1709)
- uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
-
- if ( (oldCache = uniqueCache[ dir ]) &&
- oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
-
- // Assign to newCache so results back-propagate to previous elements
- return (newCache[ 2 ] = oldCache[ 2 ]);
- } else {
- // Reuse newcache so results back-propagate to previous elements
- uniqueCache[ dir ] = newCache;
-
- // A match means we're done; a fail means we have to keep checking
- if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
- return true;
- }
- }
- }
- }
- }
- };
-}
-
-function elementMatcher( matchers ) {
- return matchers.length > 1 ?
- function( elem, context, xml ) {
- var i = matchers.length;
- while ( i-- ) {
- if ( !matchers[i]( elem, context, xml ) ) {
- return false;
- }
- }
- return true;
- } :
- matchers[0];
-}
-
-function multipleContexts( selector, contexts, results ) {
- var i = 0,
- len = contexts.length;
- for ( ; i < len; i++ ) {
- Sizzle( selector, contexts[i], results );
- }
- return results;
-}
-
-function condense( unmatched, map, filter, context, xml ) {
- var elem,
- newUnmatched = [],
- i = 0,
- len = unmatched.length,
- mapped = map != null;
-
- for ( ; i < len; i++ ) {
- if ( (elem = unmatched[i]) ) {
- if ( !filter || filter( elem, context, xml ) ) {
- newUnmatched.push( elem );
- if ( mapped ) {
- map.push( i );
- }
- }
- }
- }
-
- return newUnmatched;
-}
-
-function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
- if ( postFilter && !postFilter[ expando ] ) {
- postFilter = setMatcher( postFilter );
- }
- if ( postFinder && !postFinder[ expando ] ) {
- postFinder = setMatcher( postFinder, postSelector );
- }
- return markFunction(function( seed, results, context, xml ) {
- var temp, i, elem,
- preMap = [],
- postMap = [],
- preexisting = results.length,
-
- // Get initial elements from seed or context
- elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
-
- // Prefilter to get matcher input, preserving a map for seed-results synchronization
- matcherIn = preFilter && ( seed || !selector ) ?
- condense( elems, preMap, preFilter, context, xml ) :
- elems,
-
- matcherOut = matcher ?
- // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
- postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
-
- // ...intermediate processing is necessary
- [] :
-
- // ...otherwise use results directly
- results :
- matcherIn;
-
- // Find primary matches
- if ( matcher ) {
- matcher( matcherIn, matcherOut, context, xml );
- }
-
- // Apply postFilter
- if ( postFilter ) {
- temp = condense( matcherOut, postMap );
- postFilter( temp, [], context, xml );
-
- // Un-match failing elements by moving them back to matcherIn
- i = temp.length;
- while ( i-- ) {
- if ( (elem = temp[i]) ) {
- matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
- }
- }
- }
-
- if ( seed ) {
- if ( postFinder || preFilter ) {
- if ( postFinder ) {
- // Get the final matcherOut by condensing this intermediate into postFinder contexts
- temp = [];
- i = matcherOut.length;
- while ( i-- ) {
- if ( (elem = matcherOut[i]) ) {
- // Restore matcherIn since elem is not yet a final match
- temp.push( (matcherIn[i] = elem) );
- }
- }
- postFinder( null, (matcherOut = []), temp, xml );
- }
-
- // Move matched elements from seed to results to keep them synchronized
- i = matcherOut.length;
- while ( i-- ) {
- if ( (elem = matcherOut[i]) &&
- (temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
-
- seed[temp] = !(results[temp] = elem);
- }
- }
- }
-
- // Add elements to results, through postFinder if defined
- } else {
- matcherOut = condense(
- matcherOut === results ?
- matcherOut.splice( preexisting, matcherOut.length ) :
- matcherOut
- );
- if ( postFinder ) {
- postFinder( null, results, matcherOut, xml );
- } else {
- push.apply( results, matcherOut );
- }
- }
- });
-}
-
-function matcherFromTokens( tokens ) {
- var checkContext, matcher, j,
- len = tokens.length,
- leadingRelative = Expr.relative[ tokens[0].type ],
- implicitRelative = leadingRelative || Expr.relative[" "],
- i = leadingRelative ? 1 : 0,
-
- // The foundational matcher ensures that elements are reachable from top-level context(s)
- matchContext = addCombinator( function( elem ) {
- return elem === checkContext;
- }, implicitRelative, true ),
- matchAnyContext = addCombinator( function( elem ) {
- return indexOf( checkContext, elem ) > -1;
- }, implicitRelative, true ),
- matchers = [ function( elem, context, xml ) {
- var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
- (checkContext = context).nodeType ?
- matchContext( elem, context, xml ) :
- matchAnyContext( elem, context, xml ) );
- // Avoid hanging onto element (issue #299)
- checkContext = null;
- return ret;
- } ];
-
- for ( ; i < len; i++ ) {
- if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
- matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
- } else {
- matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
-
- // Return special upon seeing a positional matcher
- if ( matcher[ expando ] ) {
- // Find the next relative operator (if any) for proper handling
- j = ++i;
- for ( ; j < len; j++ ) {
- if ( Expr.relative[ tokens[j].type ] ) {
- break;
- }
- }
- return setMatcher(
- i > 1 && elementMatcher( matchers ),
- i > 1 && toSelector(
- // If the preceding token was a descendant combinator, insert an implicit any-element `*`
- tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
- ).replace( rtrim, "$1" ),
- matcher,
- i < j && matcherFromTokens( tokens.slice( i, j ) ),
- j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
- j < len && toSelector( tokens )
- );
- }
- matchers.push( matcher );
- }
- }
-
- return elementMatcher( matchers );
-}
-
-function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
- var bySet = setMatchers.length > 0,
- byElement = elementMatchers.length > 0,
- superMatcher = function( seed, context, xml, results, outermost ) {
- var elem, j, matcher,
- matchedCount = 0,
- i = "0",
- unmatched = seed && [],
- setMatched = [],
- contextBackup = outermostContext,
- // We must always have either seed elements or outermost context
- elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
- // Use integer dirruns iff this is the outermost matcher
- dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
- len = elems.length;
-
- if ( outermost ) {
- outermostContext = context === document || context || outermost;
- }
-
- // Add elements passing elementMatchers directly to results
- // Support: IE<9, Safari
- // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
- for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
- if ( byElement && elem ) {
- j = 0;
- if ( !context && elem.ownerDocument !== document ) {
- setDocument( elem );
- xml = !documentIsHTML;
- }
- while ( (matcher = elementMatchers[j++]) ) {
- if ( matcher( elem, context || document, xml) ) {
- results.push( elem );
- break;
- }
- }
- if ( outermost ) {
- dirruns = dirrunsUnique;
- }
- }
-
- // Track unmatched elements for set filters
- if ( bySet ) {
- // They will have gone through all possible matchers
- if ( (elem = !matcher && elem) ) {
- matchedCount--;
- }
-
- // Lengthen the array for every element, matched or not
- if ( seed ) {
- unmatched.push( elem );
- }
- }
- }
-
- // `i` is now the count of elements visited above, and adding it to `matchedCount`
- // makes the latter nonnegative.
- matchedCount += i;
-
- // Apply set filters to unmatched elements
- // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
- // equals `i`), unless we didn't visit _any_ elements in the above loop because we have
- // no element matchers and no seed.
- // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
- // case, which will result in a "00" `matchedCount` that differs from `i` but is also
- // numerically zero.
- if ( bySet && i !== matchedCount ) {
- j = 0;
- while ( (matcher = setMatchers[j++]) ) {
- matcher( unmatched, setMatched, context, xml );
- }
-
- if ( seed ) {
- // Reintegrate element matches to eliminate the need for sorting
- if ( matchedCount > 0 ) {
- while ( i-- ) {
- if ( !(unmatched[i] || setMatched[i]) ) {
- setMatched[i] = pop.call( results );
- }
- }
- }
-
- // Discard index placeholder values to get only actual matches
- setMatched = condense( setMatched );
- }
-
- // Add matches to results
- push.apply( results, setMatched );
-
- // Seedless set matches succeeding multiple successful matchers stipulate sorting
- if ( outermost && !seed && setMatched.length > 0 &&
- ( matchedCount + setMatchers.length ) > 1 ) {
-
- Sizzle.uniqueSort( results );
- }
- }
-
- // Override manipulation of globals by nested matchers
- if ( outermost ) {
- dirruns = dirrunsUnique;
- outermostContext = contextBackup;
- }
-
- return unmatched;
- };
-
- return bySet ?
- markFunction( superMatcher ) :
- superMatcher;
-}
-
-compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
- var i,
- setMatchers = [],
- elementMatchers = [],
- cached = compilerCache[ selector + " " ];
-
- if ( !cached ) {
- // Generate a function of recursive functions that can be used to check each element
- if ( !match ) {
- match = tokenize( selector );
- }
- i = match.length;
- while ( i-- ) {
- cached = matcherFromTokens( match[i] );
- if ( cached[ expando ] ) {
- setMatchers.push( cached );
- } else {
- elementMatchers.push( cached );
- }
- }
-
- // Cache the compiled function
- cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
-
- // Save selector and tokenization
- cached.selector = selector;
- }
- return cached;
-};
-
-/**
- * A low-level selection function that works with Sizzle's compiled
- * selector functions
- * @param {String|Function} selector A selector or a pre-compiled
- * selector function built with Sizzle.compile
- * @param {Element} context
- * @param {Array} [results]
- * @param {Array} [seed] A set of elements to match against
- */
-select = Sizzle.select = function( selector, context, results, seed ) {
- var i, tokens, token, type, find,
- compiled = typeof selector === "function" && selector,
- match = !seed && tokenize( (selector = compiled.selector || selector) );
-
- results = results || [];
-
- // Try to minimize operations if there is only one selector in the list and no seed
- // (the latter of which guarantees us context)
- if ( match.length === 1 ) {
-
- // Reduce context if the leading compound selector is an ID
- tokens = match[0] = match[0].slice( 0 );
- if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
- support.getById && context.nodeType === 9 && documentIsHTML &&
- Expr.relative[ tokens[1].type ] ) {
-
- context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
- if ( !context ) {
- return results;
-
- // Precompiled matchers will still verify ancestry, so step up a level
- } else if ( compiled ) {
- context = context.parentNode;
- }
-
- selector = selector.slice( tokens.shift().value.length );
- }
-
- // Fetch a seed set for right-to-left matching
- i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
- while ( i-- ) {
- token = tokens[i];
-
- // Abort if we hit a combinator
- if ( Expr.relative[ (type = token.type) ] ) {
- break;
- }
- if ( (find = Expr.find[ type ]) ) {
- // Search, expanding context for leading sibling combinators
- if ( (seed = find(
- token.matches[0].replace( runescape, funescape ),
- rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
- )) ) {
-
- // If seed is empty or no tokens remain, we can return early
- tokens.splice( i, 1 );
- selector = seed.length && toSelector( tokens );
- if ( !selector ) {
- push.apply( results, seed );
- return results;
- }
-
- break;
- }
- }
- }
- }
-
- // Compile and execute a filtering function if one is not provided
- // Provide `match` to avoid retokenization if we modified the selector above
- ( compiled || compile( selector, match ) )(
- seed,
- context,
- !documentIsHTML,
- results,
- !context || rsibling.test( selector ) && testContext( context.parentNode ) || context
- );
- return results;
-};
-
-// One-time assignments
-
-// Sort stability
-support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
-
-// Support: Chrome 14-35+
-// Always assume duplicates if they aren't passed to the comparison function
-support.detectDuplicates = !!hasDuplicate;
-
-// Initialize against the default document
-setDocument();
-
-// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
-// Detached nodes confoundingly follow *each other*
-support.sortDetached = assert(function( div1 ) {
- // Should return 1, but returns 4 (following)
- return div1.compareDocumentPosition( document.createElement("div") ) & 1;
-});
-
-// Support: IE<8
-// Prevent attribute/property "interpolation"
-// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !assert(function( div ) {
- div.innerHTML = "<a href='#'></a>";
- return div.firstChild.getAttribute("href") === "#" ;
-}) ) {
- addHandle( "type|href|height|width", function( elem, name, isXML ) {
- if ( !isXML ) {
- return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
- }
- });
-}
-
-// Support: IE<9
-// Use defaultValue in place of getAttribute("value")
-if ( !support.attributes || !assert(function( div ) {
- div.innerHTML = "<input/>";
- div.firstChild.setAttribute( "value", "" );
- return div.firstChild.getAttribute( "value" ) === "";
-}) ) {
- addHandle( "value", function( elem, name, isXML ) {
- if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
- return elem.defaultValue;
- }
- });
-}
-
-// Support: IE<9
-// Use getAttributeNode to fetch booleans when getAttribute lies
-if ( !assert(function( div ) {
- return div.getAttribute("disabled") == null;
-}) ) {
- addHandle( booleans, function( elem, name, isXML ) {
- var val;
- if ( !isXML ) {
- return elem[ name ] === true ? name.toLowerCase() :
- (val = elem.getAttributeNode( name )) && val.specified ?
- val.value :
- null;
- }
- });
-}
-
-return Sizzle;
-
-})( window );
-
-
-
-jQuery.find = Sizzle;
-jQuery.expr = Sizzle.selectors;
-jQuery.expr[ ":" ] = jQuery.expr.pseudos;
-jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
-jQuery.text = Sizzle.getText;
-jQuery.isXMLDoc = Sizzle.isXML;
-jQuery.contains = Sizzle.contains;
-
-
-
-var dir = function( elem, dir, until ) {
- var matched = [],
- truncate = until !== undefined;
-
- while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
- if ( elem.nodeType === 1 ) {
- if ( truncate && jQuery( elem ).is( until ) ) {
- break;
- }
- matched.push( elem );
- }
- }
- return matched;
-};
-
-
-var siblings = function( n, elem ) {
- var matched = [];
-
- for ( ; n; n = n.nextSibling ) {
- if ( n.nodeType === 1 && n !== elem ) {
- matched.push( n );
- }
- }
-
- return matched;
-};
-
-
-var rneedsContext = jQuery.expr.match.needsContext;
-
-var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ );
-
-
-
-var risSimple = /^.[^:#\[\.,]*$/;
-
-// Implement the identical functionality for filter and not
-function winnow( elements, qualifier, not ) {
- if ( jQuery.isFunction( qualifier ) ) {
- return jQuery.grep( elements, function( elem, i ) {
- /* jshint -W018 */
- return !!qualifier.call( elem, i, elem ) !== not;
- } );
-
- }
-
- if ( qualifier.nodeType ) {
- return jQuery.grep( elements, function( elem ) {
- return ( elem === qualifier ) !== not;
- } );
-
- }
-
- if ( typeof qualifier === "string" ) {
- if ( risSimple.test( qualifier ) ) {
- return jQuery.filter( qualifier, elements, not );
- }
-
- qualifier = jQuery.filter( qualifier, elements );
- }
-
- return jQuery.grep( elements, function( elem ) {
- return ( jQuery.inArray( elem, qualifier ) > -1 ) !== not;
- } );
-}
-
-jQuery.filter = function( expr, elems, not ) {
- var elem = elems[ 0 ];
-
- if ( not ) {
- expr = ":not(" + expr + ")";
- }
-
- return elems.length === 1 && elem.nodeType === 1 ?
- jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
- jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
- return elem.nodeType === 1;
- } ) );
-};
-
-jQuery.fn.extend( {
- find: function( selector ) {
- var i,
- ret = [],
- self = this,
- len = self.length;
-
- if ( typeof selector !== "string" ) {
- return this.pushStack( jQuery( selector ).filter( function() {
- for ( i = 0; i < len; i++ ) {
- if ( jQuery.contains( self[ i ], this ) ) {
- return true;
- }
- }
- } ) );
- }
-
- for ( i = 0; i < len; i++ ) {
- jQuery.find( selector, self[ i ], ret );
- }
-
- // Needed because $( selector, context ) becomes $( context ).find( selector )
- ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
- ret.selector = this.selector ? this.selector + " " + selector : selector;
- return ret;
- },
- filter: function( selector ) {
- return this.pushStack( winnow( this, selector || [], false ) );
- },
- not: function( selector ) {
- return this.pushStack( winnow( this, selector || [], true ) );
- },
- is: function( selector ) {
- return !!winnow(
- this,
-
- // If this is a positional/relative selector, check membership in the returned set
- // so $("p:first").is("p:last") won't return true for a doc with two "p".
- typeof selector === "string" && rneedsContext.test( selector ) ?
- jQuery( selector ) :
- selector || [],
- false
- ).length;
- }
-} );
-
-
-// Initialize a jQuery object
-
-
-// A central reference to the root jQuery(document)
-var rootjQuery,
-
- // A simple way to check for HTML strings
- // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
- // Strict HTML recognition (#11290: must start with <)
- rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
-
- init = jQuery.fn.init = function( selector, context, root ) {
- var match, elem;
-
- // HANDLE: $(""), $(null), $(undefined), $(false)
- if ( !selector ) {
- return this;
- }
-
- // init accepts an alternate rootjQuery
- // so migrate can support jQuery.sub (gh-2101)
- root = root || rootjQuery;
-
- // Handle HTML strings
- if ( typeof selector === "string" ) {
- if ( selector.charAt( 0 ) === "<" &&
- selector.charAt( selector.length - 1 ) === ">" &&
- selector.length >= 3 ) {
-
- // Assume that strings that start and end with <> are HTML and skip the regex check
- match = [ null, selector, null ];
-
- } else {
- match = rquickExpr.exec( selector );
- }
-
- // Match html or make sure no context is specified for #id
- if ( match && ( match[ 1 ] || !context ) ) {
-
- // HANDLE: $(html) -> $(array)
- if ( match[ 1 ] ) {
- context = context instanceof jQuery ? context[ 0 ] : context;
-
- // scripts is true for back-compat
- // Intentionally let the error be thrown if parseHTML is not present
- jQuery.merge( this, jQuery.parseHTML(
- match[ 1 ],
- context && context.nodeType ? context.ownerDocument || context : document,
- true
- ) );
-
- // HANDLE: $(html, props)
- if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
- for ( match in context ) {
-
- // Properties of context are called as methods if possible
- if ( jQuery.isFunction( this[ match ] ) ) {
- this[ match ]( context[ match ] );
-
- // ...and otherwise set as attributes
- } else {
- this.attr( match, context[ match ] );
- }
- }
- }
-
- return this;
-
- // HANDLE: $(#id)
- } else {
- elem = document.getElementById( match[ 2 ] );
-
- // Check parentNode to catch when Blackberry 4.6 returns
- // nodes that are no longer in the document #6963
- if ( elem && elem.parentNode ) {
-
- // Handle the case where IE and Opera return items
- // by name instead of ID
- if ( elem.id !== match[ 2 ] ) {
- return rootjQuery.find( selector );
- }
-
- // Otherwise, we inject the element directly into the jQuery object
- this.length = 1;
- this[ 0 ] = elem;
- }
-
- this.context = document;
- this.selector = selector;
- return this;
- }
-
- // HANDLE: $(expr, $(...))
- } else if ( !context || context.jquery ) {
- return ( context || root ).find( selector );
-
- // HANDLE: $(expr, context)
- // (which is just equivalent to: $(context).find(expr)
- } else {
- return this.constructor( context ).find( selector );
- }
-
- // HANDLE: $(DOMElement)
- } else if ( selector.nodeType ) {
- this.context = this[ 0 ] = selector;
- this.length = 1;
- return this;
-
- // HANDLE: $(function)
- // Shortcut for document ready
- } else if ( jQuery.isFunction( selector ) ) {
- return typeof root.ready !== "undefined" ?
- root.ready( selector ) :
-
- // Execute immediately if ready is not present
- selector( jQuery );
- }
-
- if ( selector.selector !== undefined ) {
- this.selector = selector.selector;
- this.context = selector.context;
- }
-
- return jQuery.makeArray( selector, this );
- };
-
-// Give the init function the jQuery prototype for later instantiation
-init.prototype = jQuery.fn;
-
-// Initialize central reference
-rootjQuery = jQuery( document );
-
-
-var rparentsprev = /^(?:parents|prev(?:Until|All))/,
-
- // methods guaranteed to produce a unique set when starting from a unique set
- guaranteedUnique = {
- children: true,
- contents: true,
- next: true,
- prev: true
- };
-
-jQuery.fn.extend( {
- has: function( target ) {
- var i,
- targets = jQuery( target, this ),
- len = targets.length;
-
- return this.filter( function() {
- for ( i = 0; i < len; i++ ) {
- if ( jQuery.contains( this, targets[ i ] ) ) {
- return true;
- }
- }
- } );
- },
-
- closest: function( selectors, context ) {
- var cur,
- i = 0,
- l = this.length,
- matched = [],
- pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
- jQuery( selectors, context || this.context ) :
- 0;
-
- for ( ; i < l; i++ ) {
- for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
-
- // Always skip document fragments
- if ( cur.nodeType < 11 && ( pos ?
- pos.index( cur ) > -1 :
-
- // Don't pass non-elements to Sizzle
- cur.nodeType === 1 &&
- jQuery.find.matchesSelector( cur, selectors ) ) ) {
-
- matched.push( cur );
- break;
- }
- }
- }
-
- return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
- },
-
- // Determine the position of an element within
- // the matched set of elements
- index: function( elem ) {
-
- // No argument, return index in parent
- if ( !elem ) {
- return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
- }
-
- // index in selector
- if ( typeof elem === "string" ) {
- return jQuery.inArray( this[ 0 ], jQuery( elem ) );
- }
-
- // Locate the position of the desired element
- return jQuery.inArray(
-
- // If it receives a jQuery object, the first element is used
- elem.jquery ? elem[ 0 ] : elem, this );
- },
-
- add: function( selector, context ) {
- return this.pushStack(
- jQuery.uniqueSort(
- jQuery.merge( this.get(), jQuery( selector, context ) )
- )
- );
- },
-
- addBack: function( selector ) {
- return this.add( selector == null ?
- this.prevObject : this.prevObject.filter( selector )
- );
- }
-} );
-
-function sibling( cur, dir ) {
- do {
- cur = cur[ dir ];
- } while ( cur && cur.nodeType !== 1 );
-
- return cur;
-}
-
-jQuery.each( {
- parent: function( elem ) {
- var parent = elem.parentNode;
- return parent && parent.nodeType !== 11 ? parent : null;
- },
- parents: function( elem ) {
- return dir( elem, "parentNode" );
- },
- parentsUntil: function( elem, i, until ) {
- return dir( elem, "parentNode", until );
- },
- next: function( elem ) {
- return sibling( elem, "nextSibling" );
- },
- prev: function( elem ) {
- return sibling( elem, "previousSibling" );
- },
- nextAll: function( elem ) {
- return dir( elem, "nextSibling" );
- },
- prevAll: function( elem ) {
- return dir( elem, "previousSibling" );
- },
- nextUntil: function( elem, i, until ) {
- return dir( elem, "nextSibling", until );
- },
- prevUntil: function( elem, i, until ) {
- return dir( elem, "previousSibling", until );
- },
- siblings: function( elem ) {
- return siblings( ( elem.parentNode || {} ).firstChild, elem );
- },
- children: function( elem ) {
- return siblings( elem.firstChild );
- },
- contents: function( elem ) {
- return jQuery.nodeName( elem, "iframe" ) ?
- elem.contentDocument || elem.contentWindow.document :
- jQuery.merge( [], elem.childNodes );
- }
-}, function( name, fn ) {
- jQuery.fn[ name ] = function( until, selector ) {
- var ret = jQuery.map( this, fn, until );
-
- if ( name.slice( -5 ) !== "Until" ) {
- selector = until;
- }
-
- if ( selector && typeof selector === "string" ) {
- ret = jQuery.filter( selector, ret );
- }
-
- if ( this.length > 1 ) {
-
- // Remove duplicates
- if ( !guaranteedUnique[ name ] ) {
- ret = jQuery.uniqueSort( ret );
- }
-
- // Reverse order for parents* and prev-derivatives
- if ( rparentsprev.test( name ) ) {
- ret = ret.reverse();
- }
- }
-
- return this.pushStack( ret );
- };
-} );
-var rnotwhite = ( /\S+/g );
-
-
-
-// Convert String-formatted options into Object-formatted ones
-function createOptions( options ) {
- var object = {};
- jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
- object[ flag ] = true;
- } );
- return object;
-}
-
-/*
- * Create a callback list using the following parameters:
- *
- * options: an optional list of space-separated options that will change how
- * the callback list behaves or a more traditional option object
- *
- * By default a callback list will act like an event callback list and can be
- * "fired" multiple times.
- *
- * Possible options:
- *
- * once: will ensure the callback list can only be fired once (like a Deferred)
- *
- * memory: will keep track of previous values and will call any callback added
- * after the list has been fired right away with the latest "memorized"
- * values (like a Deferred)
- *
- * unique: will ensure a callback can only be added once (no duplicate in the list)
- *
- * stopOnFalse: interrupt callings when a callback returns false
- *
- */
-jQuery.Callbacks = function( options ) {
-
- // Convert options from String-formatted to Object-formatted if needed
- // (we check in cache first)
- options = typeof options === "string" ?
- createOptions( options ) :
- jQuery.extend( {}, options );
-
- var // Flag to know if list is currently firing
- firing,
-
- // Last fire value for non-forgettable lists
- memory,
-
- // Flag to know if list was already fired
- fired,
-
- // Flag to prevent firing
- locked,
-
- // Actual callback list
- list = [],
-
- // Queue of execution data for repeatable lists
- queue = [],
-
- // Index of currently firing callback (modified by add/remove as needed)
- firingIndex = -1,
-
- // Fire callbacks
- fire = function() {
-
- // Enforce single-firing
- locked = options.once;
-
- // Execute callbacks for all pending executions,
- // respecting firingIndex overrides and runtime changes
- fired = firing = true;
- for ( ; queue.length; firingIndex = -1 ) {
- memory = queue.shift();
- while ( ++firingIndex < list.length ) {
-
- // Run callback and check for early termination
- if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
- options.stopOnFalse ) {
-
- // Jump to end and forget the data so .add doesn't re-fire
- firingIndex = list.length;
- memory = false;
- }
- }
- }
-
- // Forget the data if we're done with it
- if ( !options.memory ) {
- memory = false;
- }
-
- firing = false;
-
- // Clean up if we're done firing for good
- if ( locked ) {
-
- // Keep an empty list if we have data for future add calls
- if ( memory ) {
- list = [];
-
- // Otherwise, this object is spent
- } else {
- list = "";
- }
- }
- },
-
- // Actual Callbacks object
- self = {
-
- // Add a callback or a collection of callbacks to the list
- add: function() {
- if ( list ) {
-
- // If we have memory from a past run, we should fire after adding
- if ( memory && !firing ) {
- firingIndex = list.length - 1;
- queue.push( memory );
- }
-
- ( function add( args ) {
- jQuery.each( args, function( _, arg ) {
- if ( jQuery.isFunction( arg ) ) {
- if ( !options.unique || !self.has( arg ) ) {
- list.push( arg );
- }
- } else if ( arg && arg.length && jQuery.type( arg ) !== "string" ) {
-
- // Inspect recursively
- add( arg );
- }
- } );
- } )( arguments );
-
- if ( memory && !firing ) {
- fire();
- }
- }
- return this;
- },
-
- // Remove a callback from the list
- remove: function() {
- jQuery.each( arguments, function( _, arg ) {
- var index;
- while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
- list.splice( index, 1 );
-
- // Handle firing indexes
- if ( index <= firingIndex ) {
- firingIndex--;
- }
- }
- } );
- return this;
- },
-
- // Check if a given callback is in the list.
- // If no argument is given, return whether or not list has callbacks attached.
- has: function( fn ) {
- return fn ?
- jQuery.inArray( fn, list ) > -1 :
- list.length > 0;
- },
-
- // Remove all callbacks from the list
- empty: function() {
- if ( list ) {
- list = [];
- }
- return this;
- },
-
- // Disable .fire and .add
- // Abort any current/pending executions
- // Clear all callbacks and values
- disable: function() {
- locked = queue = [];
- list = memory = "";
- return this;
- },
- disabled: function() {
- return !list;
- },
-
- // Disable .fire
- // Also disable .add unless we have memory (since it would have no effect)
- // Abort any pending executions
- lock: function() {
- locked = true;
- if ( !memory ) {
- self.disable();
- }
- return this;
- },
- locked: function() {
- return !!locked;
- },
-
- // Call all callbacks with the given context and arguments
- fireWith: function( context, args ) {
- if ( !locked ) {
- args = args || [];
- args = [ context, args.slice ? args.slice() : args ];
- queue.push( args );
- if ( !firing ) {
- fire();
- }
- }
- return this;
- },
-
- // Call all the callbacks with the given arguments
- fire: function() {
- self.fireWith( this, arguments );
- return this;
- },
-
- // To know if the callbacks have already been called at least once
- fired: function() {
- return !!fired;
- }
- };
-
- return self;
-};
-
-
-jQuery.extend( {
-
- Deferred: function( func ) {
- var tuples = [
-
- // action, add listener, listener list, final state
- [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ],
- [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ],
- [ "notify", "progress", jQuery.Callbacks( "memory" ) ]
- ],
- state = "pending",
- promise = {
- state: function() {
- return state;
- },
- always: function() {
- deferred.done( arguments ).fail( arguments );
- return this;
- },
- then: function( /* fnDone, fnFail, fnProgress */ ) {
- var fns = arguments;
- return jQuery.Deferred( function( newDefer ) {
- jQuery.each( tuples, function( i, tuple ) {
- var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
-
- // deferred[ done | fail | progress ] for forwarding actions to newDefer
- deferred[ tuple[ 1 ] ]( function() {
- var returned = fn && fn.apply( this, arguments );
- if ( returned && jQuery.isFunction( returned.promise ) ) {
- returned.promise()
- .progress( newDefer.notify )
- .done( newDefer.resolve )
- .fail( newDefer.reject );
- } else {
- newDefer[ tuple[ 0 ] + "With" ](
- this === promise ? newDefer.promise() : this,
- fn ? [ returned ] : arguments
- );
- }
- } );
- } );
- fns = null;
- } ).promise();
- },
-
- // Get a promise for this deferred
- // If obj is provided, the promise aspect is added to the object
- promise: function( obj ) {
- return obj != null ? jQuery.extend( obj, promise ) : promise;
- }
- },
- deferred = {};
-
- // Keep pipe for back-compat
- promise.pipe = promise.then;
-
- // Add list-specific methods
- jQuery.each( tuples, function( i, tuple ) {
- var list = tuple[ 2 ],
- stateString = tuple[ 3 ];
-
- // promise[ done | fail | progress ] = list.add
- promise[ tuple[ 1 ] ] = list.add;
-
- // Handle state
- if ( stateString ) {
- list.add( function() {
-
- // state = [ resolved | rejected ]
- state = stateString;
-
- // [ reject_list | resolve_list ].disable; progress_list.lock
- }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
- }
-
- // deferred[ resolve | reject | notify ]
- deferred[ tuple[ 0 ] ] = function() {
- deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments );
- return this;
- };
- deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
- } );
-
- // Make the deferred a promise
- promise.promise( deferred );
-
- // Call given func if any
- if ( func ) {
- func.call( deferred, deferred );
- }
-
- // All done!
- return deferred;
- },
-
- // Deferred helper
- when: function( subordinate /* , ..., subordinateN */ ) {
- var i = 0,
- resolveValues = slice.call( arguments ),
- length = resolveValues.length,
-
- // the count of uncompleted subordinates
- remaining = length !== 1 ||
- ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
-
- // the master Deferred.
- // If resolveValues consist of only a single Deferred, just use that.
- deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
-
- // Update function for both resolve and progress values
- updateFunc = function( i, contexts, values ) {
- return function( value ) {
- contexts[ i ] = this;
- values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
- if ( values === progressValues ) {
- deferred.notifyWith( contexts, values );
-
- } else if ( !( --remaining ) ) {
- deferred.resolveWith( contexts, values );
- }
- };
- },
-
- progressValues, progressContexts, resolveContexts;
-
- // add listeners to Deferred subordinates; treat others as resolved
- if ( length > 1 ) {
- progressValues = new Array( length );
- progressContexts = new Array( length );
- resolveContexts = new Array( length );
- for ( ; i < length; i++ ) {
- if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
- resolveValues[ i ].promise()
- .progress( updateFunc( i, progressContexts, progressValues ) )
- .done( updateFunc( i, resolveContexts, resolveValues ) )
- .fail( deferred.reject );
- } else {
- --remaining;
- }
- }
- }
-
- // if we're not waiting on anything, resolve the master
- if ( !remaining ) {
- deferred.resolveWith( resolveContexts, resolveValues );
- }
-
- return deferred.promise();
- }
-} );
-
-
-// The deferred used on DOM ready
-var readyList;
-
-jQuery.fn.ready = function( fn ) {
-
- // Add the callback
- jQuery.ready.promise().done( fn );
-
- return this;
-};
-
-jQuery.extend( {
-
- // Is the DOM ready to be used? Set to true once it occurs.
- isReady: false,
-
- // A counter to track how many items to wait for before
- // the ready event fires. See #6781
- readyWait: 1,
-
- // Hold (or release) the ready event
- holdReady: function( hold ) {
- if ( hold ) {
- jQuery.readyWait++;
- } else {
- jQuery.ready( true );
- }
- },
-
- // Handle when the DOM is ready
- ready: function( wait ) {
-
- // Abort if there are pending holds or we're already ready
- if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
- return;
- }
-
- // Remember that the DOM is ready
- jQuery.isReady = true;
-
- // If a normal DOM Ready event fired, decrement, and wait if need be
- if ( wait !== true && --jQuery.readyWait > 0 ) {
- return;
- }
-
- // If there are functions bound, to execute
- readyList.resolveWith( document, [ jQuery ] );
-
- // Trigger any bound ready events
- if ( jQuery.fn.triggerHandler ) {
- jQuery( document ).triggerHandler( "ready" );
- jQuery( document ).off( "ready" );
- }
- }
-} );
-
-/**
- * Clean-up method for dom ready events
- */
-function detach() {
- if ( document.addEventListener ) {
- document.removeEventListener( "DOMContentLoaded", completed );
- window.removeEventListener( "load", completed );
-
- } else {
- document.detachEvent( "onreadystatechange", completed );
- window.detachEvent( "onload", completed );
- }
-}
-
-/**
- * The ready event handler and self cleanup method
- */
-function completed() {
-
- // readyState === "complete" is good enough for us to call the dom ready in oldIE
- if ( document.addEventListener ||
- window.event.type === "load" ||
- document.readyState === "complete" ) {
-
- detach();
- jQuery.ready();
- }
-}
-
-jQuery.ready.promise = function( obj ) {
- if ( !readyList ) {
-
- readyList = jQuery.Deferred();
-
- // Catch cases where $(document).ready() is called
- // after the browser event has already occurred.
- // Support: IE6-10
- // Older IE sometimes signals "interactive" too soon
- if ( document.readyState === "complete" ||
- ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
-
- // Handle it asynchronously to allow scripts the opportunity to delay ready
- window.setTimeout( jQuery.ready );
-
- // Standards-based browsers support DOMContentLoaded
- } else if ( document.addEventListener ) {
-
- // Use the handy event callback
- document.addEventListener( "DOMContentLoaded", completed );
-
- // A fallback to window.onload, that will always work
- window.addEventListener( "load", completed );
-
- // If IE event model is used
- } else {
-
- // Ensure firing before onload, maybe late but safe also for iframes
- document.attachEvent( "onreadystatechange", completed );
-
- // A fallback to window.onload, that will always work
- window.attachEvent( "onload", completed );
-
- // If IE and not a frame
- // continually check to see if the document is ready
- var top = false;
-
- try {
- top = window.frameElement == null && document.documentElement;
- } catch ( e ) {}
-
- if ( top && top.doScroll ) {
- ( function doScrollCheck() {
- if ( !jQuery.isReady ) {
-
- try {
-
- // Use the trick by Diego Perini
- // http://javascript.nwbox.com/IEContentLoaded/
- top.doScroll( "left" );
- } catch ( e ) {
- return window.setTimeout( doScrollCheck, 50 );
- }
-
- // detach all dom ready events
- detach();
-
- // and execute any waiting functions
- jQuery.ready();
- }
- } )();
- }
- }
- }
- return readyList.promise( obj );
-};
-
-// Kick off the DOM ready check even if the user does not
-jQuery.ready.promise();
-
-
-
-
-// Support: IE<9
-// Iteration over object's inherited properties before its own
-var i;
-for ( i in jQuery( support ) ) {
- break;
-}
-support.ownFirst = i === "0";
-
-// Note: most support tests are defined in their respective modules.
-// false until the test is run
-support.inlineBlockNeedsLayout = false;
-
-// Execute ASAP in case we need to set body.style.zoom
-jQuery( function() {
-
- // Minified: var a,b,c,d
- var val, div, body, container;
-
- body = document.getElementsByTagName( "body" )[ 0 ];
- if ( !body || !body.style ) {
-
- // Return for frameset docs that don't have a body
- return;
- }
-
- // Setup
- div = document.createElement( "div" );
- container = document.createElement( "div" );
- container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
- body.appendChild( container ).appendChild( div );
-
- if ( typeof div.style.zoom !== "undefined" ) {
-
- // Support: IE<8
- // Check if natively block-level elements act like inline-block
- // elements when setting their display to 'inline' and giving
- // them layout
- div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1";
-
- support.inlineBlockNeedsLayout = val = div.offsetWidth === 3;
- if ( val ) {
-
- // Prevent IE 6 from affecting layout for positioned elements #11048
- // Prevent IE from shrinking the body in IE 7 mode #12869
- // Support: IE<8
- body.style.zoom = 1;
- }
- }
-
- body.removeChild( container );
-} );
-
-
-( function() {
- var div = document.createElement( "div" );
-
- // Support: IE<9
- support.deleteExpando = true;
- try {
- delete div.test;
- } catch ( e ) {
- support.deleteExpando = false;
- }
-
- // Null elements to avoid leaks in IE.
- div = null;
-} )();
-var acceptData = function( elem ) {
- var noData = jQuery.noData[ ( elem.nodeName + " " ).toLowerCase() ],
- nodeType = +elem.nodeType || 1;
-
- // Do not set data on non-element DOM nodes because it will not be cleared (#8335).
- return nodeType !== 1 && nodeType !== 9 ?
- false :
-
- // Nodes accept data unless otherwise specified; rejection can be conditional
- !noData || noData !== true && elem.getAttribute( "classid" ) === noData;
-};
-
-
-
-
-var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
- rmultiDash = /([A-Z])/g;
-
-function dataAttr( elem, key, data ) {
-
- // If nothing was found internally, try to fetch any
- // data from the HTML5 data-* attribute
- if ( data === undefined && elem.nodeType === 1 ) {
-
- var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
-
- data = elem.getAttribute( name );
-
- if ( typeof data === "string" ) {
- try {
- data = data === "true" ? true :
- data === "false" ? false :
- data === "null" ? null :
-
- // Only convert to a number if it doesn't change the string
- +data + "" === data ? +data :
- rbrace.test( data ) ? jQuery.parseJSON( data ) :
- data;
- } catch ( e ) {}
-
- // Make sure we set the data so it isn't changed later
- jQuery.data( elem, key, data );
-
- } else {
- data = undefined;
- }
- }
-
- return data;
-}
-
-// checks a cache object for emptiness
-function isEmptyDataObject( obj ) {
- var name;
- for ( name in obj ) {
-
- // if the public data object is empty, the private is still empty
- if ( name === "data" && jQuery.isEmptyObject( obj[ name ] ) ) {
- continue;
- }
- if ( name !== "toJSON" ) {
- return false;
- }
- }
-
- return true;
-}
-
-function internalData( elem, name, data, pvt /* Internal Use Only */ ) {
- if ( !acceptData( elem ) ) {
- return;
- }
-
- var ret, thisCache,
- internalKey = jQuery.expando,
-
- // We have to handle DOM nodes and JS objects differently because IE6-7
- // can't GC object references properly across the DOM-JS boundary
- isNode = elem.nodeType,
-
- // Only DOM nodes need the global jQuery cache; JS object data is
- // attached directly to the object so GC can occur automatically
- cache = isNode ? jQuery.cache : elem,
-
- // Only defining an ID for JS objects if its cache already exists allows
- // the code to shortcut on the same path as a DOM node with no cache
- id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;
-
- // Avoid doing any more work than we need to when trying to get data on an
- // object that has no data at all
- if ( ( !id || !cache[ id ] || ( !pvt && !cache[ id ].data ) ) &&
- data === undefined && typeof name === "string" ) {
- return;
- }
-
- if ( !id ) {
-
- // Only DOM nodes need a new unique ID for each element since their data
- // ends up in the global cache
- if ( isNode ) {
- id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++;
- } else {
- id = internalKey;
- }
- }
-
- if ( !cache[ id ] ) {
-
- // Avoid exposing jQuery metadata on plain JS objects when the object
- // is serialized using JSON.stringify
- cache[ id ] = isNode ? {} : { toJSON: jQuery.noop };
- }
-
- // An object can be passed to jQuery.data instead of a key/value pair; this gets
- // shallow copied over onto the existing cache
- if ( typeof name === "object" || typeof name === "function" ) {
- if ( pvt ) {
- cache[ id ] = jQuery.extend( cache[ id ], name );
- } else {
- cache[ id ].data = jQuery.extend( cache[ id ].data, name );
- }
- }
-
- thisCache = cache[ id ];
-
- // jQuery data() is stored in a separate object inside the object's internal data
- // cache in order to avoid key collisions between internal data and user-defined
- // data.
- if ( !pvt ) {
- if ( !thisCache.data ) {
- thisCache.data = {};
- }
-
- thisCache = thisCache.data;
- }
-
- if ( data !== undefined ) {
- thisCache[ jQuery.camelCase( name ) ] = data;
- }
-
- // Check for both converted-to-camel and non-converted data property names
- // If a data property was specified
- if ( typeof name === "string" ) {
-
- // First Try to find as-is property data
- ret = thisCache[ name ];
-
- // Test for null|undefined property data
- if ( ret == null ) {
-
- // Try to find the camelCased property
- ret = thisCache[ jQuery.camelCase( name ) ];
- }
- } else {
- ret = thisCache;
- }
-
- return ret;
-}
-
-function internalRemoveData( elem, name, pvt ) {
- if ( !acceptData( elem ) ) {
- return;
- }
-
- var thisCache, i,
- isNode = elem.nodeType,
-
- // See jQuery.data for more information
- cache = isNode ? jQuery.cache : elem,
- id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
-
- // If there is already no cache entry for this object, there is no
- // purpose in continuing
- if ( !cache[ id ] ) {
- return;
- }
-
- if ( name ) {
-
- thisCache = pvt ? cache[ id ] : cache[ id ].data;
-
- if ( thisCache ) {
-
- // Support array or space separated string names for data keys
- if ( !jQuery.isArray( name ) ) {
-
- // try the string as a key before any manipulation
- if ( name in thisCache ) {
- name = [ name ];
- } else {
-
- // split the camel cased version by spaces unless a key with the spaces exists
- name = jQuery.camelCase( name );
- if ( name in thisCache ) {
- name = [ name ];
- } else {
- name = name.split( " " );
- }
- }
- } else {
-
- // If "name" is an array of keys...
- // When data is initially created, via ("key", "val") signature,
- // keys will be converted to camelCase.
- // Since there is no way to tell _how_ a key was added, remove
- // both plain key and camelCase key. #12786
- // This will only penalize the array argument path.
- name = name.concat( jQuery.map( name, jQuery.camelCase ) );
- }
-
- i = name.length;
- while ( i-- ) {
- delete thisCache[ name[ i ] ];
- }
-
- // If there is no data left in the cache, we want to continue
- // and let the cache object itself get destroyed
- if ( pvt ? !isEmptyDataObject( thisCache ) : !jQuery.isEmptyObject( thisCache ) ) {
- return;
- }
- }
- }
-
- // See jQuery.data for more information
- if ( !pvt ) {
- delete cache[ id ].data;
-
- // Don't destroy the parent cache unless the internal data object
- // had been the only thing left in it
- if ( !isEmptyDataObject( cache[ id ] ) ) {
- return;
- }
- }
-
- // Destroy the cache
- if ( isNode ) {
- jQuery.cleanData( [ elem ], true );
-
- // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)
- /* jshint eqeqeq: false */
- } else if ( support.deleteExpando || cache != cache.window ) {
- /* jshint eqeqeq: true */
- delete cache[ id ];
-
- // When all else fails, undefined
- } else {
- cache[ id ] = undefined;
- }
-}
-
-jQuery.extend( {
- cache: {},
-
- // The following elements (space-suffixed to avoid Object.prototype collisions)
- // throw uncatchable exceptions if you attempt to set expando properties
- noData: {
- "applet ": true,
- "embed ": true,
-
- // ...but Flash objects (which have this classid) *can* handle expandos
- "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
- },
-
- hasData: function( elem ) {
- elem = elem.nodeType ? jQuery.cache[ elem[ jQuery.expando ] ] : elem[ jQuery.expando ];
- return !!elem && !isEmptyDataObject( elem );
- },
-
- data: function( elem, name, data ) {
- return internalData( elem, name, data );
- },
-
- removeData: function( elem, name ) {
- return internalRemoveData( elem, name );
- },
-
- // For internal use only.
- _data: function( elem, name, data ) {
- return internalData( elem, name, data, true );
- },
-
- _removeData: function( elem, name ) {
- return internalRemoveData( elem, name, true );
- }
-} );
-
-jQuery.fn.extend( {
- data: function( key, value ) {
- var i, name, data,
- elem = this[ 0 ],
- attrs = elem && elem.attributes;
-
- // Special expections of .data basically thwart jQuery.access,
- // so implement the relevant behavior ourselves
-
- // Gets all values
- if ( key === undefined ) {
- if ( this.length ) {
- data = jQuery.data( elem );
-
- if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
- i = attrs.length;
- while ( i-- ) {
-
- // Support: IE11+
- // The attrs elements can be null (#14894)
- if ( attrs[ i ] ) {
- name = attrs[ i ].name;
- if ( name.indexOf( "data-" ) === 0 ) {
- name = jQuery.camelCase( name.slice( 5 ) );
- dataAttr( elem, name, data[ name ] );
- }
- }
- }
- jQuery._data( elem, "parsedAttrs", true );
- }
- }
-
- return data;
- }
-
- // Sets multiple values
- if ( typeof key === "object" ) {
- return this.each( function() {
- jQuery.data( this, key );
- } );
- }
-
- return arguments.length > 1 ?
-
- // Sets one value
- this.each( function() {
- jQuery.data( this, key, value );
- } ) :
-
- // Gets one value
- // Try to fetch any internally stored data first
- elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined;
- },
-
- removeData: function( key ) {
- return this.each( function() {
- jQuery.removeData( this, key );
- } );
- }
-} );
-
-
-jQuery.extend( {
- queue: function( elem, type, data ) {
- var queue;
-
- if ( elem ) {
- type = ( type || "fx" ) + "queue";
- queue = jQuery._data( elem, type );
-
- // Speed up dequeue by getting out quickly if this is just a lookup
- if ( data ) {
- if ( !queue || jQuery.isArray( data ) ) {
- queue = jQuery._data( elem, type, jQuery.makeArray( data ) );
- } else {
- queue.push( data );
- }
- }
- return queue || [];
- }
- },
-
- dequeue: function( elem, type ) {
- type = type || "fx";
-
- var queue = jQuery.queue( elem, type ),
- startLength = queue.length,
- fn = queue.shift(),
- hooks = jQuery._queueHooks( elem, type ),
- next = function() {
- jQuery.dequeue( elem, type );
- };
-
- // If the fx queue is dequeued, always remove the progress sentinel
- if ( fn === "inprogress" ) {
- fn = queue.shift();
- startLength--;
- }
-
- if ( fn ) {
-
- // Add a progress sentinel to prevent the fx queue from being
- // automatically dequeued
- if ( type === "fx" ) {
- queue.unshift( "inprogress" );
- }
-
- // clear up the last queue stop function
- delete hooks.stop;
- fn.call( elem, next, hooks );
- }
-
- if ( !startLength && hooks ) {
- hooks.empty.fire();
- }
- },
-
- // not intended for public consumption - generates a queueHooks object,
- // or returns the current one
- _queueHooks: function( elem, type ) {
- var key = type + "queueHooks";
- return jQuery._data( elem, key ) || jQuery._data( elem, key, {
- empty: jQuery.Callbacks( "once memory" ).add( function() {
- jQuery._removeData( elem, type + "queue" );
- jQuery._removeData( elem, key );
- } )
- } );
- }
-} );
-
-jQuery.fn.extend( {
- queue: function( type, data ) {
- var setter = 2;
-
- if ( typeof type !== "string" ) {
- data = type;
- type = "fx";
- setter--;
- }
-
- if ( arguments.length < setter ) {
- return jQuery.queue( this[ 0 ], type );
- }
-
- return data === undefined ?
- this :
- this.each( function() {
- var queue = jQuery.queue( this, type, data );
-
- // ensure a hooks for this queue
- jQuery._queueHooks( this, type );
-
- if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
- jQuery.dequeue( this, type );
- }
- } );
- },
- dequeue: function( type ) {
- return this.each( function() {
- jQuery.dequeue( this, type );
- } );
- },
- clearQueue: function( type ) {
- return this.queue( type || "fx", [] );
- },
-
- // Get a promise resolved when queues of a certain type
- // are emptied (fx is the type by default)
- promise: function( type, obj ) {
- var tmp,
- count = 1,
- defer = jQuery.Deferred(),
- elements = this,
- i = this.length,
- resolve = function() {
- if ( !( --count ) ) {
- defer.resolveWith( elements, [ elements ] );
- }
- };
-
- if ( typeof type !== "string" ) {
- obj = type;
- type = undefined;
- }
- type = type || "fx";
-
- while ( i-- ) {
- tmp = jQuery._data( elements[ i ], type + "queueHooks" );
- if ( tmp && tmp.empty ) {
- count++;
- tmp.empty.add( resolve );
- }
- }
- resolve();
- return defer.promise( obj );
- }
-} );
-
-
-( function() {
- var shrinkWrapBlocksVal;
-
- support.shrinkWrapBlocks = function() {
- if ( shrinkWrapBlocksVal != null ) {
- return shrinkWrapBlocksVal;
- }
-
- // Will be changed later if needed.
- shrinkWrapBlocksVal = false;
-
- // Minified: var b,c,d
- var div, body, container;
-
- body = document.getElementsByTagName( "body" )[ 0 ];
- if ( !body || !body.style ) {
-
- // Test fired too early or in an unsupported environment, exit.
- return;
- }
-
- // Setup
- div = document.createElement( "div" );
- container = document.createElement( "div" );
- container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
- body.appendChild( container ).appendChild( div );
-
- // Support: IE6
- // Check if elements with layout shrink-wrap their children
- if ( typeof div.style.zoom !== "undefined" ) {
-
- // Reset CSS: box-sizing; display; margin; border
- div.style.cssText =
-
- // Support: Firefox<29, Android 2.3
- // Vendor-prefix box-sizing
- "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
- "box-sizing:content-box;display:block;margin:0;border:0;" +
- "padding:1px;width:1px;zoom:1";
- div.appendChild( document.createElement( "div" ) ).style.width = "5px";
- shrinkWrapBlocksVal = div.offsetWidth !== 3;
- }
-
- body.removeChild( container );
-
- return shrinkWrapBlocksVal;
- };
-
-} )();
-var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
-
-var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
-
-
-var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
-
-var isHidden = function( elem, el ) {
-
- // isHidden might be called from jQuery#filter function;
- // in that case, element will be second argument
- elem = el || elem;
- return jQuery.css( elem, "display" ) === "none" ||
- !jQuery.contains( elem.ownerDocument, elem );
- };
-
-
-
-function adjustCSS( elem, prop, valueParts, tween ) {
- var adjusted,
- scale = 1,
- maxIterations = 20,
- currentValue = tween ?
- function() { return tween.cur(); } :
- function() { return jQuery.css( elem, prop, "" ); },
- initial = currentValue(),
- unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
-
- // Starting value computation is required for potential unit mismatches
- initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
- rcssNum.exec( jQuery.css( elem, prop ) );
-
- if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
-
- // Trust units reported by jQuery.css
- unit = unit || initialInUnit[ 3 ];
-
- // Make sure we update the tween properties later on
- valueParts = valueParts || [];
-
- // Iteratively approximate from a nonzero starting point
- initialInUnit = +initial || 1;
-
- do {
-
- // If previous iteration zeroed out, double until we get *something*.
- // Use string for doubling so we don't accidentally see scale as unchanged below
- scale = scale || ".5";
-
- // Adjust and apply
- initialInUnit = initialInUnit / scale;
- jQuery.style( elem, prop, initialInUnit + unit );
-
- // Update scale, tolerating zero or NaN from tween.cur()
- // Break the loop if scale is unchanged or perfect, or if we've just had enough.
- } while (
- scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations
- );
- }
-
- if ( valueParts ) {
- initialInUnit = +initialInUnit || +initial || 0;
-
- // Apply relative offset (+=/-=) if specified
- adjusted = valueParts[ 1 ] ?
- initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
- +valueParts[ 2 ];
- if ( tween ) {
- tween.unit = unit;
- tween.start = initialInUnit;
- tween.end = adjusted;
- }
- }
- return adjusted;
-}
-
-
-// Multifunctional method to get and set values of a collection
-// The value/s can optionally be executed if it's a function
-var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
- var i = 0,
- length = elems.length,
- bulk = key == null;
-
- // Sets many values
- if ( jQuery.type( key ) === "object" ) {
- chainable = true;
- for ( i in key ) {
- access( elems, fn, i, key[ i ], true, emptyGet, raw );
- }
-
- // Sets one value
- } else if ( value !== undefined ) {
- chainable = true;
-
- if ( !jQuery.isFunction( value ) ) {
- raw = true;
- }
-
- if ( bulk ) {
-
- // Bulk operations run against the entire set
- if ( raw ) {
- fn.call( elems, value );
- fn = null;
-
- // ...except when executing function values
- } else {
- bulk = fn;
- fn = function( elem, key, value ) {
- return bulk.call( jQuery( elem ), value );
- };
- }
- }
-
- if ( fn ) {
- for ( ; i < length; i++ ) {
- fn(
- elems[ i ],
- key,
- raw ? value : value.call( elems[ i ], i, fn( elems[ i ], key ) )
- );
- }
- }
- }
-
- return chainable ?
- elems :
-
- // Gets
- bulk ?
- fn.call( elems ) :
- length ? fn( elems[ 0 ], key ) : emptyGet;
-};
-var rcheckableType = ( /^(?:checkbox|radio)$/i );
-
-var rtagName = ( /<([\w:-]+)/ );
-
-var rscriptType = ( /^$|\/(?:java|ecma)script/i );
-
-var rleadingWhitespace = ( /^\s+/ );
-
-var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|" +
- "details|dialog|figcaption|figure|footer|header|hgroup|main|" +
- "mark|meter|nav|output|picture|progress|section|summary|template|time|video";
-
-
-
-function createSafeFragment( document ) {
- var list = nodeNames.split( "|" ),
- safeFrag = document.createDocumentFragment();
-
- if ( safeFrag.createElement ) {
- while ( list.length ) {
- safeFrag.createElement(
- list.pop()
- );
- }
- }
- return safeFrag;
-}
-
-
-( function() {
- var div = document.createElement( "div" ),
- fragment = document.createDocumentFragment(),
- input = document.createElement( "input" );
-
- // Setup
- div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
-
- // IE strips leading whitespace when .innerHTML is used
- support.leadingWhitespace = div.firstChild.nodeType === 3;
-
- // Make sure that tbody elements aren't automatically inserted
- // IE will insert them into empty tables
- support.tbody = !div.getElementsByTagName( "tbody" ).length;
-
- // Make sure that link elements get serialized correctly by innerHTML
- // This requires a wrapper element in IE
- support.htmlSerialize = !!div.getElementsByTagName( "link" ).length;
-
- // Makes sure cloning an html5 element does not cause problems
- // Where outerHTML is undefined, this still works
- support.html5Clone =
- document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav></:nav>";
-
- // Check if a disconnected checkbox will retain its checked
- // value of true after appended to the DOM (IE6/7)
- input.type = "checkbox";
- input.checked = true;
- fragment.appendChild( input );
- support.appendChecked = input.checked;
-
- // Make sure textarea (and checkbox) defaultValue is properly cloned
- // Support: IE6-IE11+
- div.innerHTML = "<textarea>x</textarea>";
- support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
-
- // #11217 - WebKit loses check when the name is after the checked attribute
- fragment.appendChild( div );
-
- // Support: Windows Web Apps (WWA)
- // `name` and `type` must use .setAttribute for WWA (#14901)
- input = document.createElement( "input" );
- input.setAttribute( "type", "radio" );
- input.setAttribute( "checked", "checked" );
- input.setAttribute( "name", "t" );
-
- div.appendChild( input );
-
- // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
- // old WebKit doesn't clone checked state correctly in fragments
- support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
-
- // Support: IE<9
- // Cloned elements keep attachEvent handlers, we use addEventListener on IE9+
- support.noCloneEvent = !!div.addEventListener;
-
- // Support: IE<9
- // Since attributes and properties are the same in IE,
- // cleanData must set properties to undefined rather than use removeAttribute
- div[ jQuery.expando ] = 1;
- support.attributes = !div.getAttribute( jQuery.expando );
-} )();
-
-
-// We have to close these tags to support XHTML (#13200)
-var wrapMap = {
- option: [ 1, "<select multiple='multiple'>", "</select>" ],
- legend: [ 1, "<fieldset>", "</fieldset>" ],
- area: [ 1, "<map>", "</map>" ],
-
- // Support: IE8
- param: [ 1, "<object>", "</object>" ],
- thead: [ 1, "<table>", "</table>" ],
- tr: [ 2, "<table><tbody>", "</tbody></table>" ],
- col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
- td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
-
- // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,
- // unless wrapped in a div with non-breaking characters in front of it.
- _default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ]
-};
-
-// Support: IE8-IE9
-wrapMap.optgroup = wrapMap.option;
-
-wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
-wrapMap.th = wrapMap.td;
-
-
-function getAll( context, tag ) {
- var elems, elem,
- i = 0,
- found = typeof context.getElementsByTagName !== "undefined" ?
- context.getElementsByTagName( tag || "*" ) :
- typeof context.querySelectorAll !== "undefined" ?
- context.querySelectorAll( tag || "*" ) :
- undefined;
-
- if ( !found ) {
- for ( found = [], elems = context.childNodes || context;
- ( elem = elems[ i ] ) != null;
- i++
- ) {
- if ( !tag || jQuery.nodeName( elem, tag ) ) {
- found.push( elem );
- } else {
- jQuery.merge( found, getAll( elem, tag ) );
- }
- }
- }
-
- return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
- jQuery.merge( [ context ], found ) :
- found;
-}
-
-
-// Mark scripts as having already been evaluated
-function setGlobalEval( elems, refElements ) {
- var elem,
- i = 0;
- for ( ; ( elem = elems[ i ] ) != null; i++ ) {
- jQuery._data(
- elem,
- "globalEval",
- !refElements || jQuery._data( refElements[ i ], "globalEval" )
- );
- }
-}
-
-
-var rhtml = /<|&#?\w+;/,
- rtbody = /<tbody/i;
-
-function fixDefaultChecked( elem ) {
- if ( rcheckableType.test( elem.type ) ) {
- elem.defaultChecked = elem.checked;
- }
-}
-
-function buildFragment( elems, context, scripts, selection, ignored ) {
- var j, elem, contains,
- tmp, tag, tbody, wrap,
- l = elems.length,
-
- // Ensure a safe fragment
- safe = createSafeFragment( context ),
-
- nodes = [],
- i = 0;
-
- for ( ; i < l; i++ ) {
- elem = elems[ i ];
-
- if ( elem || elem === 0 ) {
-
- // Add nodes directly
- if ( jQuery.type( elem ) === "object" ) {
- jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
-
- // Convert non-html into a text node
- } else if ( !rhtml.test( elem ) ) {
- nodes.push( context.createTextNode( elem ) );
-
- // Convert html into DOM nodes
- } else {
- tmp = tmp || safe.appendChild( context.createElement( "div" ) );
-
- // Deserialize a standard representation
- tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
- wrap = wrapMap[ tag ] || wrapMap._default;
-
- tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
-
- // Descend through wrappers to the right content
- j = wrap[ 0 ];
- while ( j-- ) {
- tmp = tmp.lastChild;
- }
-
- // Manually add leading whitespace removed by IE
- if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
- nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[ 0 ] ) );
- }
-
- // Remove IE's autoinserted <tbody> from table fragments
- if ( !support.tbody ) {
-
- // String was a <table>, *may* have spurious <tbody>
- elem = tag === "table" && !rtbody.test( elem ) ?
- tmp.firstChild :
-
- // String was a bare <thead> or <tfoot>
- wrap[ 1 ] === "<table>" && !rtbody.test( elem ) ?
- tmp :
- 0;
-
- j = elem && elem.childNodes.length;
- while ( j-- ) {
- if ( jQuery.nodeName( ( tbody = elem.childNodes[ j ] ), "tbody" ) &&
- !tbody.childNodes.length ) {
-
- elem.removeChild( tbody );
- }
- }
- }
-
- jQuery.merge( nodes, tmp.childNodes );
-
- // Fix #12392 for WebKit and IE > 9
- tmp.textContent = "";
-
- // Fix #12392 for oldIE
- while ( tmp.firstChild ) {
- tmp.removeChild( tmp.firstChild );
- }
-
- // Remember the top-level container for proper cleanup
- tmp = safe.lastChild;
- }
- }
- }
-
- // Fix #11356: Clear elements from fragment
- if ( tmp ) {
- safe.removeChild( tmp );
- }
-
- // Reset defaultChecked for any radios and checkboxes
- // about to be appended to the DOM in IE 6/7 (#8060)
- if ( !support.appendChecked ) {
- jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked );
- }
-
- i = 0;
- while ( ( elem = nodes[ i++ ] ) ) {
-
- // Skip elements already in the context collection (trac-4087)
- if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
- if ( ignored ) {
- ignored.push( elem );
- }
-
- continue;
- }
-
- contains = jQuery.contains( elem.ownerDocument, elem );
-
- // Append to fragment
- tmp = getAll( safe.appendChild( elem ), "script" );
-
- // Preserve script evaluation history
- if ( contains ) {
- setGlobalEval( tmp );
- }
-
- // Capture executables
- if ( scripts ) {
- j = 0;
- while ( ( elem = tmp[ j++ ] ) ) {
- if ( rscriptType.test( elem.type || "" ) ) {
- scripts.push( elem );
- }
- }
- }
- }
-
- tmp = null;
-
- return safe;
-}
-
-
-( function() {
- var i, eventName,
- div = document.createElement( "div" );
-
- // Support: IE<9 (lack submit/change bubble), Firefox (lack focus(in | out) events)
- for ( i in { submit: true, change: true, focusin: true } ) {
- eventName = "on" + i;
-
- if ( !( support[ i ] = eventName in window ) ) {
-
- // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)
- div.setAttribute( eventName, "t" );
- support[ i ] = div.attributes[ eventName ].expando === false;
- }
- }
-
- // Null elements to avoid leaks in IE.
- div = null;
-} )();
-
-
-var rformElems = /^(?:input|select|textarea)$/i,
- rkeyEvent = /^key/,
- rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
- rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
- rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
-
-function returnTrue() {
- return true;
-}
-
-function returnFalse() {
- return false;
-}
-
-// Support: IE9
-// See #13393 for more info
-function safeActiveElement() {
- try {
- return document.activeElement;
- } catch ( err ) { }
-}
-
-function on( elem, types, selector, data, fn, one ) {
- var origFn, type;
-
- // Types can be a map of types/handlers
- if ( typeof types === "object" ) {
-
- // ( types-Object, selector, data )
- if ( typeof selector !== "string" ) {
-
- // ( types-Object, data )
- data = data || selector;
- selector = undefined;
- }
- for ( type in types ) {
- on( elem, type, selector, data, types[ type ], one );
- }
- return elem;
- }
-
- if ( data == null && fn == null ) {
-
- // ( types, fn )
- fn = selector;
- data = selector = undefined;
- } else if ( fn == null ) {
- if ( typeof selector === "string" ) {
-
- // ( types, selector, fn )
- fn = data;
- data = undefined;
- } else {
-
- // ( types, data, fn )
- fn = data;
- data = selector;
- selector = undefined;
- }
- }
- if ( fn === false ) {
- fn = returnFalse;
- } else if ( !fn ) {
- return elem;
- }
-
- if ( one === 1 ) {
- origFn = fn;
- fn = function( event ) {
-
- // Can use an empty set, since event contains the info
- jQuery().off( event );
- return origFn.apply( this, arguments );
- };
-
- // Use same guid so caller can remove using origFn
- fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
- }
- return elem.each( function() {
- jQuery.event.add( this, types, fn, data, selector );
- } );
-}
-
-/*
- * Helper functions for managing events -- not part of the public interface.
- * Props to Dean Edwards' addEvent library for many of the ideas.
- */
-jQuery.event = {
-
- global: {},
-
- add: function( elem, types, handler, data, selector ) {
- var tmp, events, t, handleObjIn,
- special, eventHandle, handleObj,
- handlers, type, namespaces, origType,
- elemData = jQuery._data( elem );
-
- // Don't attach events to noData or text/comment nodes (but allow plain objects)
- if ( !elemData ) {
- return;
- }
-
- // Caller can pass in an object of custom data in lieu of the handler
- if ( handler.handler ) {
- handleObjIn = handler;
- handler = handleObjIn.handler;
- selector = handleObjIn.selector;
- }
-
- // Make sure that the handler has a unique ID, used to find/remove it later
- if ( !handler.guid ) {
- handler.guid = jQuery.guid++;
- }
-
- // Init the element's event structure and main handler, if this is the first
- if ( !( events = elemData.events ) ) {
- events = elemData.events = {};
- }
- if ( !( eventHandle = elemData.handle ) ) {
- eventHandle = elemData.handle = function( e ) {
-
- // Discard the second event of a jQuery.event.trigger() and
- // when an event is called after a page has unloaded
- return typeof jQuery !== "undefined" &&
- ( !e || jQuery.event.triggered !== e.type ) ?
- jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
- undefined;
- };
-
- // Add elem as a property of the handle fn to prevent a memory leak
- // with IE non-native events
- eventHandle.elem = elem;
- }
-
- // Handle multiple events separated by a space
- types = ( types || "" ).match( rnotwhite ) || [ "" ];
- t = types.length;
- while ( t-- ) {
- tmp = rtypenamespace.exec( types[ t ] ) || [];
- type = origType = tmp[ 1 ];
- namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
-
- // There *must* be a type, no attaching namespace-only handlers
- if ( !type ) {
- continue;
- }
-
- // If event changes its type, use the special event handlers for the changed type
- special = jQuery.event.special[ type ] || {};
-
- // If selector defined, determine special event api type, otherwise given type
- type = ( selector ? special.delegateType : special.bindType ) || type;
-
- // Update special based on newly reset type
- special = jQuery.event.special[ type ] || {};
-
- // handleObj is passed to all event handlers
- handleObj = jQuery.extend( {
- type: type,
- origType: origType,
- data: data,
- handler: handler,
- guid: handler.guid,
- selector: selector,
- needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
- namespace: namespaces.join( "." )
- }, handleObjIn );
-
- // Init the event handler queue if we're the first
- if ( !( handlers = events[ type ] ) ) {
- handlers = events[ type ] = [];
- handlers.delegateCount = 0;
-
- // Only use addEventListener/attachEvent if the special events handler returns false
- if ( !special.setup ||
- special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
-
- // Bind the global event handler to the element
- if ( elem.addEventListener ) {
- elem.addEventListener( type, eventHandle, false );
-
- } else if ( elem.attachEvent ) {
- elem.attachEvent( "on" + type, eventHandle );
- }
- }
- }
-
- if ( special.add ) {
- special.add.call( elem, handleObj );
-
- if ( !handleObj.handler.guid ) {
- handleObj.handler.guid = handler.guid;
- }
- }
-
- // Add to the element's handler list, delegates in front
- if ( selector ) {
- handlers.splice( handlers.delegateCount++, 0, handleObj );
- } else {
- handlers.push( handleObj );
- }
-
- // Keep track of which events have ever been used, for event optimization
- jQuery.event.global[ type ] = true;
- }
-
- // Nullify elem to prevent memory leaks in IE
- elem = null;
- },
-
- // Detach an event or set of events from an element
- remove: function( elem, types, handler, selector, mappedTypes ) {
- var j, handleObj, tmp,
- origCount, t, events,
- special, handlers, type,
- namespaces, origType,
- elemData = jQuery.hasData( elem ) && jQuery._data( elem );
-
- if ( !elemData || !( events = elemData.events ) ) {
- return;
- }
-
- // Once for each type.namespace in types; type may be omitted
- types = ( types || "" ).match( rnotwhite ) || [ "" ];
- t = types.length;
- while ( t-- ) {
- tmp = rtypenamespace.exec( types[ t ] ) || [];
- type = origType = tmp[ 1 ];
- namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
-
- // Unbind all events (on this namespace, if provided) for the element
- if ( !type ) {
- for ( type in events ) {
- jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
- }
- continue;
- }
-
- special = jQuery.event.special[ type ] || {};
- type = ( selector ? special.delegateType : special.bindType ) || type;
- handlers = events[ type ] || [];
- tmp = tmp[ 2 ] &&
- new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
-
- // Remove matching events
- origCount = j = handlers.length;
- while ( j-- ) {
- handleObj = handlers[ j ];
-
- if ( ( mappedTypes || origType === handleObj.origType ) &&
- ( !handler || handler.guid === handleObj.guid ) &&
- ( !tmp || tmp.test( handleObj.namespace ) ) &&
- ( !selector || selector === handleObj.selector ||
- selector === "**" && handleObj.selector ) ) {
- handlers.splice( j, 1 );
-
- if ( handleObj.selector ) {
- handlers.delegateCount--;
- }
- if ( special.remove ) {
- special.remove.call( elem, handleObj );
- }
- }
- }
-
- // Remove generic event handler if we removed something and no more handlers exist
- // (avoids potential for endless recursion during removal of special event handlers)
- if ( origCount && !handlers.length ) {
- if ( !special.teardown ||
- special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
-
- jQuery.removeEvent( elem, type, elemData.handle );
- }
-
- delete events[ type ];
- }
- }
-
- // Remove the expando if it's no longer used
- if ( jQuery.isEmptyObject( events ) ) {
- delete elemData.handle;
-
- // removeData also checks for emptiness and clears the expando if empty
- // so use it instead of delete
- jQuery._removeData( elem, "events" );
- }
- },
-
- trigger: function( event, data, elem, onlyHandlers ) {
- var handle, ontype, cur,
- bubbleType, special, tmp, i,
- eventPath = [ elem || document ],
- type = hasOwn.call( event, "type" ) ? event.type : event,
- namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
-
- cur = tmp = elem = elem || document;
-
- // Don't do events on text and comment nodes
- if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
- return;
- }
-
- // focus/blur morphs to focusin/out; ensure we're not firing them right now
- if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
- return;
- }
-
- if ( type.indexOf( "." ) > -1 ) {
-
- // Namespaced trigger; create a regexp to match event type in handle()
- namespaces = type.split( "." );
- type = namespaces.shift();
- namespaces.sort();
- }
- ontype = type.indexOf( ":" ) < 0 && "on" + type;
-
- // Caller can pass in a jQuery.Event object, Object, or just an event type string
- event = event[ jQuery.expando ] ?
- event :
- new jQuery.Event( type, typeof event === "object" && event );
-
- // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
- event.isTrigger = onlyHandlers ? 2 : 3;
- event.namespace = namespaces.join( "." );
- event.rnamespace = event.namespace ?
- new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
- null;
-
- // Clean up the event in case it is being reused
- event.result = undefined;
- if ( !event.target ) {
- event.target = elem;
- }
-
- // Clone any incoming data and prepend the event, creating the handler arg list
- data = data == null ?
- [ event ] :
- jQuery.makeArray( data, [ event ] );
-
- // Allow special events to draw outside the lines
- special = jQuery.event.special[ type ] || {};
- if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
- return;
- }
-
- // Determine event propagation path in advance, per W3C events spec (#9951)
- // Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
- if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
-
- bubbleType = special.delegateType || type;
- if ( !rfocusMorph.test( bubbleType + type ) ) {
- cur = cur.parentNode;
- }
- for ( ; cur; cur = cur.parentNode ) {
- eventPath.push( cur );
- tmp = cur;
- }
-
- // Only add window if we got to document (e.g., not plain obj or detached DOM)
- if ( tmp === ( elem.ownerDocument || document ) ) {
- eventPath.push( tmp.defaultView || tmp.parentWindow || window );
- }
- }
-
- // Fire handlers on the event path
- i = 0;
- while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
-
- event.type = i > 1 ?
- bubbleType :
- special.bindType || type;
-
- // jQuery handler
- handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] &&
- jQuery._data( cur, "handle" );
-
- if ( handle ) {
- handle.apply( cur, data );
- }
-
- // Native handler
- handle = ontype && cur[ ontype ];
- if ( handle && handle.apply && acceptData( cur ) ) {
- event.result = handle.apply( cur, data );
- if ( event.result === false ) {
- event.preventDefault();
- }
- }
- }
- event.type = type;
-
- // If nobody prevented the default action, do it now
- if ( !onlyHandlers && !event.isDefaultPrevented() ) {
-
- if (
- ( !special._default ||
- special._default.apply( eventPath.pop(), data ) === false
- ) && acceptData( elem )
- ) {
-
- // Call a native DOM method on the target with the same name name as the event.
- // Can't use an .isFunction() check here because IE6/7 fails that test.
- // Don't do default actions on window, that's where global variables be (#6170)
- if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) {
-
- // Don't re-trigger an onFOO event when we call its FOO() method
- tmp = elem[ ontype ];
-
- if ( tmp ) {
- elem[ ontype ] = null;
- }
-
- // Prevent re-triggering of the same event, since we already bubbled it above
- jQuery.event.triggered = type;
- try {
- elem[ type ]();
- } catch ( e ) {
-
- // IE<9 dies on focus/blur to hidden element (#1486,#12518)
- // only reproducible on winXP IE8 native, not IE9 in IE8 mode
- }
- jQuery.event.triggered = undefined;
-
- if ( tmp ) {
- elem[ ontype ] = tmp;
- }
- }
- }
- }
-
- return event.result;
- },
-
- dispatch: function( event ) {
-
- // Make a writable jQuery.Event from the native event object
- event = jQuery.event.fix( event );
-
- var i, j, ret, matched, handleObj,
- handlerQueue = [],
- args = slice.call( arguments ),
- handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [],
- special = jQuery.event.special[ event.type ] || {};
-
- // Use the fix-ed jQuery.Event rather than the (read-only) native event
- args[ 0 ] = event;
- event.delegateTarget = this;
-
- // Call the preDispatch hook for the mapped type, and let it bail if desired
- if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
- return;
- }
-
- // Determine handlers
- handlerQueue = jQuery.event.handlers.call( this, event, handlers );
-
- // Run delegates first; they may want to stop propagation beneath us
- i = 0;
- while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
- event.currentTarget = matched.elem;
-
- j = 0;
- while ( ( handleObj = matched.handlers[ j++ ] ) &&
- !event.isImmediatePropagationStopped() ) {
-
- // Triggered event must either 1) have no namespace, or 2) have namespace(s)
- // a subset or equal to those in the bound event (both can have no namespace).
- if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
-
- event.handleObj = handleObj;
- event.data = handleObj.data;
-
- ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
- handleObj.handler ).apply( matched.elem, args );
-
- if ( ret !== undefined ) {
- if ( ( event.result = ret ) === false ) {
- event.preventDefault();
- event.stopPropagation();
- }
- }
- }
- }
- }
-
- // Call the postDispatch hook for the mapped type
- if ( special.postDispatch ) {
- special.postDispatch.call( this, event );
- }
-
- return event.result;
- },
-
- handlers: function( event, handlers ) {
- var i, matches, sel, handleObj,
- handlerQueue = [],
- delegateCount = handlers.delegateCount,
- cur = event.target;
-
- // Support (at least): Chrome, IE9
- // Find delegate handlers
- // Black-hole SVG <use> instance trees (#13180)
- //
- // Support: Firefox<=42+
- // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343)
- if ( delegateCount && cur.nodeType &&
- ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) {
-
- /* jshint eqeqeq: false */
- for ( ; cur != this; cur = cur.parentNode || this ) {
- /* jshint eqeqeq: true */
-
- // Don't check non-elements (#13208)
- // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
- if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) {
- matches = [];
- for ( i = 0; i < delegateCount; i++ ) {
- handleObj = handlers[ i ];
-
- // Don't conflict with Object.prototype properties (#13203)
- sel = handleObj.selector + " ";
-
- if ( matches[ sel ] === undefined ) {
- matches[ sel ] = handleObj.needsContext ?
- jQuery( sel, this ).index( cur ) > -1 :
- jQuery.find( sel, this, null, [ cur ] ).length;
- }
- if ( matches[ sel ] ) {
- matches.push( handleObj );
- }
- }
- if ( matches.length ) {
- handlerQueue.push( { elem: cur, handlers: matches } );
- }
- }
- }
- }
-
- // Add the remaining (directly-bound) handlers
- if ( delegateCount < handlers.length ) {
- handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } );
- }
-
- return handlerQueue;
- },
-
- fix: function( event ) {
- if ( event[ jQuery.expando ] ) {
- return event;
- }
-
- // Create a writable copy of the event object and normalize some properties
- var i, prop, copy,
- type = event.type,
- originalEvent = event,
- fixHook = this.fixHooks[ type ];
-
- if ( !fixHook ) {
- this.fixHooks[ type ] = fixHook =
- rmouseEvent.test( type ) ? this.mouseHooks :
- rkeyEvent.test( type ) ? this.keyHooks :
- {};
- }
- copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
-
- event = new jQuery.Event( originalEvent );
-
- i = copy.length;
- while ( i-- ) {
- prop = copy[ i ];
- event[ prop ] = originalEvent[ prop ];
- }
-
- // Support: IE<9
- // Fix target property (#1925)
- if ( !event.target ) {
- event.target = originalEvent.srcElement || document;
- }
-
- // Support: Safari 6-8+
- // Target should not be a text node (#504, #13143)
- if ( event.target.nodeType === 3 ) {
- event.target = event.target.parentNode;
- }
-
- // Support: IE<9
- // For mouse/key events, metaKey==false if it's undefined (#3368, #11328)
- event.metaKey = !!event.metaKey;
-
- return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
- },
-
- // Includes some event props shared by KeyEvent and MouseEvent
- props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " +
- "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ),
-
- fixHooks: {},
-
- keyHooks: {
- props: "char charCode key keyCode".split( " " ),
- filter: function( event, original ) {
-
- // Add which for key events
- if ( event.which == null ) {
- event.which = original.charCode != null ? original.charCode : original.keyCode;
- }
-
- return event;
- }
- },
-
- mouseHooks: {
- props: ( "button buttons clientX clientY fromElement offsetX offsetY " +
- "pageX pageY screenX screenY toElement" ).split( " " ),
- filter: function( event, original ) {
- var body, eventDoc, doc,
- button = original.button,
- fromElement = original.fromElement;
-
- // Calculate pageX/Y if missing and clientX/Y available
- if ( event.pageX == null && original.clientX != null ) {
- eventDoc = event.target.ownerDocument || document;
- doc = eventDoc.documentElement;
- body = eventDoc.body;
-
- event.pageX = original.clientX +
- ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) -
- ( doc && doc.clientLeft || body && body.clientLeft || 0 );
- event.pageY = original.clientY +
- ( doc && doc.scrollTop || body && body.scrollTop || 0 ) -
- ( doc && doc.clientTop || body && body.clientTop || 0 );
- }
-
- // Add relatedTarget, if necessary
- if ( !event.relatedTarget && fromElement ) {
- event.relatedTarget = fromElement === event.target ?
- original.toElement :
- fromElement;
- }
-
- // Add which for click: 1 === left; 2 === middle; 3 === right
- // Note: button is not normalized, so don't use it
- if ( !event.which && button !== undefined ) {
- event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
- }
-
- return event;
- }
- },
-
- special: {
- load: {
-
- // Prevent triggered image.load events from bubbling to window.load
- noBubble: true
- },
- focus: {
-
- // Fire native event if possible so blur/focus sequence is correct
- trigger: function() {
- if ( this !== safeActiveElement() && this.focus ) {
- try {
- this.focus();
- return false;
- } catch ( e ) {
-
- // Support: IE<9
- // If we error on focus to hidden element (#1486, #12518),
- // let .trigger() run the handlers
- }
- }
- },
- delegateType: "focusin"
- },
- blur: {
- trigger: function() {
- if ( this === safeActiveElement() && this.blur ) {
- this.blur();
- return false;
- }
- },
- delegateType: "focusout"
- },
- click: {
-
- // For checkbox, fire native event so checked state will be right
- trigger: function() {
- if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) {
- this.click();
- return false;
- }
- },
-
- // For cross-browser consistency, don't fire native .click() on links
- _default: function( event ) {
- return jQuery.nodeName( event.target, "a" );
- }
- },
-
- beforeunload: {
- postDispatch: function( event ) {
-
- // Support: Firefox 20+
- // Firefox doesn't alert if the returnValue field is not set.
- if ( event.result !== undefined && event.originalEvent ) {
- event.originalEvent.returnValue = event.result;
- }
- }
- }
- },
-
- // Piggyback on a donor event to simulate a different one
- simulate: function( type, elem, event ) {
- var e = jQuery.extend(
- new jQuery.Event(),
- event,
- {
- type: type,
- isSimulated: true
-
- // Previously, `originalEvent: {}` was set here, so stopPropagation call
- // would not be triggered on donor event, since in our own
- // jQuery.event.stopPropagation function we had a check for existence of
- // originalEvent.stopPropagation method, so, consequently it would be a noop.
- //
- // Guard for simulated events was moved to jQuery.event.stopPropagation function
- // since `originalEvent` should point to the original event for the
- // constancy with other events and for more focused logic
- }
- );
-
- jQuery.event.trigger( e, null, elem );
-
- if ( e.isDefaultPrevented() ) {
- event.preventDefault();
- }
- }
-};
-
-jQuery.removeEvent = document.removeEventListener ?
- function( elem, type, handle ) {
-
- // This "if" is needed for plain objects
- if ( elem.removeEventListener ) {
- elem.removeEventListener( type, handle );
- }
- } :
- function( elem, type, handle ) {
- var name = "on" + type;
-
- if ( elem.detachEvent ) {
-
- // #8545, #7054, preventing memory leaks for custom events in IE6-8
- // detachEvent needed property on element, by name of that event,
- // to properly expose it to GC
- if ( typeof elem[ name ] === "undefined" ) {
- elem[ name ] = null;
- }
-
- elem.detachEvent( name, handle );
- }
- };
-
-jQuery.Event = function( src, props ) {
-
- // Allow instantiation without the 'new' keyword
- if ( !( this instanceof jQuery.Event ) ) {
- return new jQuery.Event( src, props );
- }
-
- // Event object
- if ( src && src.type ) {
- this.originalEvent = src;
- this.type = src.type;
-
- // Events bubbling up the document may have been marked as prevented
- // by a handler lower down the tree; reflect the correct value.
- this.isDefaultPrevented = src.defaultPrevented ||
- src.defaultPrevented === undefined &&
-
- // Support: IE < 9, Android < 4.0
- src.returnValue === false ?
- returnTrue :
- returnFalse;
-
- // Event type
- } else {
- this.type = src;
- }
-
- // Put explicitly provided properties onto the event object
- if ( props ) {
- jQuery.extend( this, props );
- }
-
- // Create a timestamp if incoming event doesn't have one
- this.timeStamp = src && src.timeStamp || jQuery.now();
-
- // Mark it as fixed
- this[ jQuery.expando ] = true;
-};
-
-// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
-// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
-jQuery.Event.prototype = {
- constructor: jQuery.Event,
- isDefaultPrevented: returnFalse,
- isPropagationStopped: returnFalse,
- isImmediatePropagationStopped: returnFalse,
-
- preventDefault: function() {
- var e = this.originalEvent;
-
- this.isDefaultPrevented = returnTrue;
- if ( !e ) {
- return;
- }
-
- // If preventDefault exists, run it on the original event
- if ( e.preventDefault ) {
- e.preventDefault();
-
- // Support: IE
- // Otherwise set the returnValue property of the original event to false
- } else {
- e.returnValue = false;
- }
- },
- stopPropagation: function() {
- var e = this.originalEvent;
-
- this.isPropagationStopped = returnTrue;
-
- if ( !e || this.isSimulated ) {
- return;
- }
-
- // If stopPropagation exists, run it on the original event
- if ( e.stopPropagation ) {
- e.stopPropagation();
- }
-
- // Support: IE
- // Set the cancelBubble property of the original event to true
- e.cancelBubble = true;
- },
- stopImmediatePropagation: function() {
- var e = this.originalEvent;
-
- this.isImmediatePropagationStopped = returnTrue;
-
- if ( e && e.stopImmediatePropagation ) {
- e.stopImmediatePropagation();
- }
-
- this.stopPropagation();
- }
-};
-
-// Create mouseenter/leave events using mouseover/out and event-time checks
-// so that event delegation works in jQuery.
-// Do the same for pointerenter/pointerleave and pointerover/pointerout
-//
-// Support: Safari 7 only
-// Safari sends mouseenter too often; see:
-// https://code.google.com/p/chromium/issues/detail?id=470258
-// for the description of the bug (it existed in older Chrome versions as well).
-jQuery.each( {
- mouseenter: "mouseover",
- mouseleave: "mouseout",
- pointerenter: "pointerover",
- pointerleave: "pointerout"
-}, function( orig, fix ) {
- jQuery.event.special[ orig ] = {
- delegateType: fix,
- bindType: fix,
-
- handle: function( event ) {
- var ret,
- target = this,
- related = event.relatedTarget,
- handleObj = event.handleObj;
-
- // For mouseenter/leave call the handler if related is outside the target.
- // NB: No relatedTarget if the mouse left/entered the browser window
- if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
- event.type = handleObj.origType;
- ret = handleObj.handler.apply( this, arguments );
- event.type = fix;
- }
- return ret;
- }
- };
-} );
-
-// IE submit delegation
-if ( !support.submit ) {
-
- jQuery.event.special.submit = {
- setup: function() {
-
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Lazy-add a submit handler when a descendant form may potentially be submitted
- jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
-
- // Node name check avoids a VML-related crash in IE (#9807)
- var elem = e.target,
- form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ?
-
- // Support: IE <=8
- // We use jQuery.prop instead of elem.form
- // to allow fixing the IE8 delegated submit issue (gh-2332)
- // by 3rd party polyfills/workarounds.
- jQuery.prop( elem, "form" ) :
- undefined;
-
- if ( form && !jQuery._data( form, "submit" ) ) {
- jQuery.event.add( form, "submit._submit", function( event ) {
- event._submitBubble = true;
- } );
- jQuery._data( form, "submit", true );
- }
- } );
-
- // return undefined since we don't need an event listener
- },
-
- postDispatch: function( event ) {
-
- // If form was submitted by the user, bubble the event up the tree
- if ( event._submitBubble ) {
- delete event._submitBubble;
- if ( this.parentNode && !event.isTrigger ) {
- jQuery.event.simulate( "submit", this.parentNode, event );
- }
- }
- },
-
- teardown: function() {
-
- // Only need this for delegated form submit events
- if ( jQuery.nodeName( this, "form" ) ) {
- return false;
- }
-
- // Remove delegated handlers; cleanData eventually reaps submit handlers attached above
- jQuery.event.remove( this, "._submit" );
- }
- };
-}
-
-// IE change delegation and checkbox/radio fix
-if ( !support.change ) {
-
- jQuery.event.special.change = {
-
- setup: function() {
-
- if ( rformElems.test( this.nodeName ) ) {
-
- // IE doesn't fire change on a check/radio until blur; trigger it on click
- // after a propertychange. Eat the blur-change in special.change.handle.
- // This still fires onchange a second time for check/radio after blur.
- if ( this.type === "checkbox" || this.type === "radio" ) {
- jQuery.event.add( this, "propertychange._change", function( event ) {
- if ( event.originalEvent.propertyName === "checked" ) {
- this._justChanged = true;
- }
- } );
- jQuery.event.add( this, "click._change", function( event ) {
- if ( this._justChanged && !event.isTrigger ) {
- this._justChanged = false;
- }
-
- // Allow triggered, simulated change events (#11500)
- jQuery.event.simulate( "change", this, event );
- } );
- }
- return false;
- }
-
- // Delegated event; lazy-add a change handler on descendant inputs
- jQuery.event.add( this, "beforeactivate._change", function( e ) {
- var elem = e.target;
-
- if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "change" ) ) {
- jQuery.event.add( elem, "change._change", function( event ) {
- if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
- jQuery.event.simulate( "change", this.parentNode, event );
- }
- } );
- jQuery._data( elem, "change", true );
- }
- } );
- },
-
- handle: function( event ) {
- var elem = event.target;
-
- // Swallow native change events from checkbox/radio, we already triggered them above
- if ( this !== elem || event.isSimulated || event.isTrigger ||
- ( elem.type !== "radio" && elem.type !== "checkbox" ) ) {
-
- return event.handleObj.handler.apply( this, arguments );
- }
- },
-
- teardown: function() {
- jQuery.event.remove( this, "._change" );
-
- return !rformElems.test( this.nodeName );
- }
- };
-}
-
-// Support: Firefox
-// Firefox doesn't have focus(in | out) events
-// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
-//
-// Support: Chrome, Safari
-// focus(in | out) events fire after focus & blur events,
-// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
-// Related ticket - https://code.google.com/p/chromium/issues/detail?id=449857
-if ( !support.focusin ) {
- jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
-
- // Attach a single capturing handler on the document while someone wants focusin/focusout
- var handler = function( event ) {
- jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
- };
-
- jQuery.event.special[ fix ] = {
- setup: function() {
- var doc = this.ownerDocument || this,
- attaches = jQuery._data( doc, fix );
-
- if ( !attaches ) {
- doc.addEventListener( orig, handler, true );
- }
- jQuery._data( doc, fix, ( attaches || 0 ) + 1 );
- },
- teardown: function() {
- var doc = this.ownerDocument || this,
- attaches = jQuery._data( doc, fix ) - 1;
-
- if ( !attaches ) {
- doc.removeEventListener( orig, handler, true );
- jQuery._removeData( doc, fix );
- } else {
- jQuery._data( doc, fix, attaches );
- }
- }
- };
- } );
-}
-
-jQuery.fn.extend( {
-
- on: function( types, selector, data, fn ) {
- return on( this, types, selector, data, fn );
- },
- one: function( types, selector, data, fn ) {
- return on( this, types, selector, data, fn, 1 );
- },
- off: function( types, selector, fn ) {
- var handleObj, type;
- if ( types && types.preventDefault && types.handleObj ) {
-
- // ( event ) dispatched jQuery.Event
- handleObj = types.handleObj;
- jQuery( types.delegateTarget ).off(
- handleObj.namespace ?
- handleObj.origType + "." + handleObj.namespace :
- handleObj.origType,
- handleObj.selector,
- handleObj.handler
- );
- return this;
- }
- if ( typeof types === "object" ) {
-
- // ( types-object [, selector] )
- for ( type in types ) {
- this.off( type, selector, types[ type ] );
- }
- return this;
- }
- if ( selector === false || typeof selector === "function" ) {
-
- // ( types [, fn] )
- fn = selector;
- selector = undefined;
- }
- if ( fn === false ) {
- fn = returnFalse;
- }
- return this.each( function() {
- jQuery.event.remove( this, types, fn, selector );
- } );
- },
-
- trigger: function( type, data ) {
- return this.each( function() {
- jQuery.event.trigger( type, data, this );
- } );
- },
- triggerHandler: function( type, data ) {
- var elem = this[ 0 ];
- if ( elem ) {
- return jQuery.event.trigger( type, data, elem, true );
- }
- }
-} );
-
-
-var rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
- rnoshimcache = new RegExp( "<(?:" + nodeNames + ")[\\s/>]", "i" ),
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
-
- // Support: IE 10-11, Edge 10240+
- // In IE/Edge using regex groups here causes severe slowdowns.
- // See https://connect.microsoft.com/IE/feedback/details/1736512/
- rnoInnerhtml = /<script|<style|<link/i,
-
- // checked="checked" or checked
- rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
- rscriptTypeMasked = /^true\/(.*)/,
- rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
- safeFragment = createSafeFragment( document ),
- fragmentDiv = safeFragment.appendChild( document.createElement( "div" ) );
-
-// Support: IE<8
-// Manipulating tables requires a tbody
-function manipulationTarget( elem, content ) {
- return jQuery.nodeName( elem, "table" ) &&
- jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
-
- elem.getElementsByTagName( "tbody" )[ 0 ] ||
- elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) :
- elem;
-}
-
-// Replace/restore the type attribute of script elements for safe DOM manipulation
-function disableScript( elem ) {
- elem.type = ( jQuery.find.attr( elem, "type" ) !== null ) + "/" + elem.type;
- return elem;
-}
-function restoreScript( elem ) {
- var match = rscriptTypeMasked.exec( elem.type );
- if ( match ) {
- elem.type = match[ 1 ];
- } else {
- elem.removeAttribute( "type" );
- }
- return elem;
-}
-
-function cloneCopyEvent( src, dest ) {
- if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
- return;
- }
-
- var type, i, l,
- oldData = jQuery._data( src ),
- curData = jQuery._data( dest, oldData ),
- events = oldData.events;
-
- if ( events ) {
- delete curData.handle;
- curData.events = {};
-
- for ( type in events ) {
- for ( i = 0, l = events[ type ].length; i < l; i++ ) {
- jQuery.event.add( dest, type, events[ type ][ i ] );
- }
- }
- }
-
- // make the cloned public data object a copy from the original
- if ( curData.data ) {
- curData.data = jQuery.extend( {}, curData.data );
- }
-}
-
-function fixCloneNodeIssues( src, dest ) {
- var nodeName, e, data;
-
- // We do not need to do anything for non-Elements
- if ( dest.nodeType !== 1 ) {
- return;
- }
-
- nodeName = dest.nodeName.toLowerCase();
-
- // IE6-8 copies events bound via attachEvent when using cloneNode.
- if ( !support.noCloneEvent && dest[ jQuery.expando ] ) {
- data = jQuery._data( dest );
-
- for ( e in data.events ) {
- jQuery.removeEvent( dest, e, data.handle );
- }
-
- // Event data gets referenced instead of copied if the expando gets copied too
- dest.removeAttribute( jQuery.expando );
- }
-
- // IE blanks contents when cloning scripts, and tries to evaluate newly-set text
- if ( nodeName === "script" && dest.text !== src.text ) {
- disableScript( dest ).text = src.text;
- restoreScript( dest );
-
- // IE6-10 improperly clones children of object elements using classid.
- // IE10 throws NoModificationAllowedError if parent is null, #12132.
- } else if ( nodeName === "object" ) {
- if ( dest.parentNode ) {
- dest.outerHTML = src.outerHTML;
- }
-
- // This path appears unavoidable for IE9. When cloning an object
- // element in IE9, the outerHTML strategy above is not sufficient.
- // If the src has innerHTML and the destination does not,
- // copy the src.innerHTML into the dest.innerHTML. #10324
- if ( support.html5Clone && ( src.innerHTML && !jQuery.trim( dest.innerHTML ) ) ) {
- dest.innerHTML = src.innerHTML;
- }
-
- } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
-
- // IE6-8 fails to persist the checked state of a cloned checkbox
- // or radio button. Worse, IE6-7 fail to give the cloned element
- // a checked appearance if the defaultChecked value isn't also set
-
- dest.defaultChecked = dest.checked = src.checked;
-
- // IE6-7 get confused and end up setting the value of a cloned
- // checkbox/radio button to an empty string instead of "on"
- if ( dest.value !== src.value ) {
- dest.value = src.value;
- }
-
- // IE6-8 fails to return the selected option to the default selected
- // state when cloning options
- } else if ( nodeName === "option" ) {
- dest.defaultSelected = dest.selected = src.defaultSelected;
-
- // IE6-8 fails to set the defaultValue to the correct value when
- // cloning other types of input fields
- } else if ( nodeName === "input" || nodeName === "textarea" ) {
- dest.defaultValue = src.defaultValue;
- }
-}
-
-function domManip( collection, args, callback, ignored ) {
-
- // Flatten any nested arrays
- args = concat.apply( [], args );
-
- var first, node, hasScripts,
- scripts, doc, fragment,
- i = 0,
- l = collection.length,
- iNoClone = l - 1,
- value = args[ 0 ],
- isFunction = jQuery.isFunction( value );
-
- // We can't cloneNode fragments that contain checked, in WebKit
- if ( isFunction ||
- ( l > 1 && typeof value === "string" &&
- !support.checkClone && rchecked.test( value ) ) ) {
- return collection.each( function( index ) {
- var self = collection.eq( index );
- if ( isFunction ) {
- args[ 0 ] = value.call( this, index, self.html() );
- }
- domManip( self, args, callback, ignored );
- } );
- }
-
- if ( l ) {
- fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
- first = fragment.firstChild;
-
- if ( fragment.childNodes.length === 1 ) {
- fragment = first;
- }
-
- // Require either new content or an interest in ignored elements to invoke the callback
- if ( first || ignored ) {
- scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
- hasScripts = scripts.length;
-
- // Use the original fragment for the last item
- // instead of the first because it can end up
- // being emptied incorrectly in certain situations (#8070).
- for ( ; i < l; i++ ) {
- node = fragment;
-
- if ( i !== iNoClone ) {
- node = jQuery.clone( node, true, true );
-
- // Keep references to cloned scripts for later restoration
- if ( hasScripts ) {
-
- // Support: Android<4.1, PhantomJS<2
- // push.apply(_, arraylike) throws on ancient WebKit
- jQuery.merge( scripts, getAll( node, "script" ) );
- }
- }
-
- callback.call( collection[ i ], node, i );
- }
-
- if ( hasScripts ) {
- doc = scripts[ scripts.length - 1 ].ownerDocument;
-
- // Reenable scripts
- jQuery.map( scripts, restoreScript );
-
- // Evaluate executable scripts on first document insertion
- for ( i = 0; i < hasScripts; i++ ) {
- node = scripts[ i ];
- if ( rscriptType.test( node.type || "" ) &&
- !jQuery._data( node, "globalEval" ) &&
- jQuery.contains( doc, node ) ) {
-
- if ( node.src ) {
-
- // Optional AJAX dependency, but won't run scripts if not present
- if ( jQuery._evalUrl ) {
- jQuery._evalUrl( node.src );
- }
- } else {
- jQuery.globalEval(
- ( node.text || node.textContent || node.innerHTML || "" )
- .replace( rcleanScript, "" )
- );
- }
- }
- }
- }
-
- // Fix #11809: Avoid leaking memory
- fragment = first = null;
- }
- }
-
- return collection;
-}
-
-function remove( elem, selector, keepData ) {
- var node,
- elems = selector ? jQuery.filter( selector, elem ) : elem,
- i = 0;
-
- for ( ; ( node = elems[ i ] ) != null; i++ ) {
-
- if ( !keepData && node.nodeType === 1 ) {
- jQuery.cleanData( getAll( node ) );
- }
-
- if ( node.parentNode ) {
- if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
- setGlobalEval( getAll( node, "script" ) );
- }
- node.parentNode.removeChild( node );
- }
- }
-
- return elem;
-}
-
-jQuery.extend( {
- htmlPrefilter: function( html ) {
- return html.replace( rxhtmlTag, "<$1></$2>" );
- },
-
- clone: function( elem, dataAndEvents, deepDataAndEvents ) {
- var destElements, node, clone, i, srcElements,
- inPage = jQuery.contains( elem.ownerDocument, elem );
-
- if ( support.html5Clone || jQuery.isXMLDoc( elem ) ||
- !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) {
-
- clone = elem.cloneNode( true );
-
- // IE<=8 does not properly clone detached, unknown element nodes
- } else {
- fragmentDiv.innerHTML = elem.outerHTML;
- fragmentDiv.removeChild( clone = fragmentDiv.firstChild );
- }
-
- if ( ( !support.noCloneEvent || !support.noCloneChecked ) &&
- ( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {
-
- // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
- destElements = getAll( clone );
- srcElements = getAll( elem );
-
- // Fix all IE cloning issues
- for ( i = 0; ( node = srcElements[ i ] ) != null; ++i ) {
-
- // Ensure that the destination node is not null; Fixes #9587
- if ( destElements[ i ] ) {
- fixCloneNodeIssues( node, destElements[ i ] );
- }
- }
- }
-
- // Copy the events from the original to the clone
- if ( dataAndEvents ) {
- if ( deepDataAndEvents ) {
- srcElements = srcElements || getAll( elem );
- destElements = destElements || getAll( clone );
-
- for ( i = 0; ( node = srcElements[ i ] ) != null; i++ ) {
- cloneCopyEvent( node, destElements[ i ] );
- }
- } else {
- cloneCopyEvent( elem, clone );
- }
- }
-
- // Preserve script evaluation history
- destElements = getAll( clone, "script" );
- if ( destElements.length > 0 ) {
- setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
- }
-
- destElements = srcElements = node = null;
-
- // Return the cloned set
- return clone;
- },
-
- cleanData: function( elems, /* internal */ forceAcceptData ) {
- var elem, type, id, data,
- i = 0,
- internalKey = jQuery.expando,
- cache = jQuery.cache,
- attributes = support.attributes,
- special = jQuery.event.special;
-
- for ( ; ( elem = elems[ i ] ) != null; i++ ) {
- if ( forceAcceptData || acceptData( elem ) ) {
-
- id = elem[ internalKey ];
- data = id && cache[ id ];
-
- if ( data ) {
- if ( data.events ) {
- for ( type in data.events ) {
- if ( special[ type ] ) {
- jQuery.event.remove( elem, type );
-
- // This is a shortcut to avoid jQuery.event.remove's overhead
- } else {
- jQuery.removeEvent( elem, type, data.handle );
- }
- }
- }
-
- // Remove cache only if it was not already removed by jQuery.event.remove
- if ( cache[ id ] ) {
-
- delete cache[ id ];
-
- // Support: IE<9
- // IE does not allow us to delete expando properties from nodes
- // IE creates expando attributes along with the property
- // IE does not have a removeAttribute function on Document nodes
- if ( !attributes && typeof elem.removeAttribute !== "undefined" ) {
- elem.removeAttribute( internalKey );
-
- // Webkit & Blink performance suffers when deleting properties
- // from DOM nodes, so set to undefined instead
- // https://code.google.com/p/chromium/issues/detail?id=378607
- } else {
- elem[ internalKey ] = undefined;
- }
-
- deletedIds.push( id );
- }
- }
- }
- }
- }
-} );
-
-jQuery.fn.extend( {
-
- // Keep domManip exposed until 3.0 (gh-2225)
- domManip: domManip,
-
- detach: function( selector ) {
- return remove( this, selector, true );
- },
-
- remove: function( selector ) {
- return remove( this, selector );
- },
-
- text: function( value ) {
- return access( this, function( value ) {
- return value === undefined ?
- jQuery.text( this ) :
- this.empty().append(
- ( this[ 0 ] && this[ 0 ].ownerDocument || document ).createTextNode( value )
- );
- }, null, value, arguments.length );
- },
-
- append: function() {
- return domManip( this, arguments, function( elem ) {
- if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
- var target = manipulationTarget( this, elem );
- target.appendChild( elem );
- }
- } );
- },
-
- prepend: function() {
- return domManip( this, arguments, function( elem ) {
- if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
- var target = manipulationTarget( this, elem );
- target.insertBefore( elem, target.firstChild );
- }
- } );
- },
-
- before: function() {
- return domManip( this, arguments, function( elem ) {
- if ( this.parentNode ) {
- this.parentNode.insertBefore( elem, this );
- }
- } );
- },
-
- after: function() {
- return domManip( this, arguments, function( elem ) {
- if ( this.parentNode ) {
- this.parentNode.insertBefore( elem, this.nextSibling );
- }
- } );
- },
-
- empty: function() {
- var elem,
- i = 0;
-
- for ( ; ( elem = this[ i ] ) != null; i++ ) {
-
- // Remove element nodes and prevent memory leaks
- if ( elem.nodeType === 1 ) {
- jQuery.cleanData( getAll( elem, false ) );
- }
-
- // Remove any remaining nodes
- while ( elem.firstChild ) {
- elem.removeChild( elem.firstChild );
- }
-
- // If this is a select, ensure that it displays empty (#12336)
- // Support: IE<9
- if ( elem.options && jQuery.nodeName( elem, "select" ) ) {
- elem.options.length = 0;
- }
- }
-
- return this;
- },
-
- clone: function( dataAndEvents, deepDataAndEvents ) {
- dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
- deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
-
- return this.map( function() {
- return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
- } );
- },
-
- html: function( value ) {
- return access( this, function( value ) {
- var elem = this[ 0 ] || {},
- i = 0,
- l = this.length;
-
- if ( value === undefined ) {
- return elem.nodeType === 1 ?
- elem.innerHTML.replace( rinlinejQuery, "" ) :
- undefined;
- }
-
- // See if we can take a shortcut and just use innerHTML
- if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
- ( support.htmlSerialize || !rnoshimcache.test( value ) ) &&
- ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
- !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
-
- value = jQuery.htmlPrefilter( value );
-
- try {
- for ( ; i < l; i++ ) {
-
- // Remove element nodes and prevent memory leaks
- elem = this[ i ] || {};
- if ( elem.nodeType === 1 ) {
- jQuery.cleanData( getAll( elem, false ) );
- elem.innerHTML = value;
- }
- }
-
- elem = 0;
-
- // If using innerHTML throws an exception, use the fallback method
- } catch ( e ) {}
- }
-
- if ( elem ) {
- this.empty().append( value );
- }
- }, null, value, arguments.length );
- },
-
- replaceWith: function() {
- var ignored = [];
-
- // Make the changes, replacing each non-ignored context element with the new content
- return domManip( this, arguments, function( elem ) {
- var parent = this.parentNode;
-
- if ( jQuery.inArray( this, ignored ) < 0 ) {
- jQuery.cleanData( getAll( this ) );
- if ( parent ) {
- parent.replaceChild( elem, this );
- }
- }
-
- // Force callback invocation
- }, ignored );
- }
-} );
-
-jQuery.each( {
- appendTo: "append",
- prependTo: "prepend",
- insertBefore: "before",
- insertAfter: "after",
- replaceAll: "replaceWith"
-}, function( name, original ) {
- jQuery.fn[ name ] = function( selector ) {
- var elems,
- i = 0,
- ret = [],
- insert = jQuery( selector ),
- last = insert.length - 1;
-
- for ( ; i <= last; i++ ) {
- elems = i === last ? this : this.clone( true );
- jQuery( insert[ i ] )[ original ]( elems );
-
- // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get()
- push.apply( ret, elems.get() );
- }
-
- return this.pushStack( ret );
- };
-} );
-
-
-var iframe,
- elemdisplay = {
-
- // Support: Firefox
- // We have to pre-define these values for FF (#10227)
- HTML: "block",
- BODY: "block"
- };
-
-/**
- * Retrieve the actual display of a element
- * @param {String} name nodeName of the element
- * @param {Object} doc Document object
- */
-
-// Called only from within defaultDisplay
-function actualDisplay( name, doc ) {
- var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
-
- display = jQuery.css( elem[ 0 ], "display" );
-
- // We don't have any data stored on the element,
- // so use "detach" method as fast way to get rid of the element
- elem.detach();
-
- return display;
-}
-
-/**
- * Try to determine the default display value of an element
- * @param {String} nodeName
- */
-function defaultDisplay( nodeName ) {
- var doc = document,
- display = elemdisplay[ nodeName ];
-
- if ( !display ) {
- display = actualDisplay( nodeName, doc );
-
- // If the simple way fails, read from inside an iframe
- if ( display === "none" || !display ) {
-
- // Use the already-created iframe if possible
- iframe = ( iframe || jQuery( "<iframe frameborder='0' width='0' height='0'/>" ) )
- .appendTo( doc.documentElement );
-
- // Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
- doc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document;
-
- // Support: IE
- doc.write();
- doc.close();
-
- display = actualDisplay( nodeName, doc );
- iframe.detach();
- }
-
- // Store the correct default display
- elemdisplay[ nodeName ] = display;
- }
-
- return display;
-}
-var rmargin = ( /^margin/ );
-
-var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
-
-var swap = function( elem, options, callback, args ) {
- var ret, name,
- old = {};
-
- // Remember the old values, and insert the new ones
- for ( name in options ) {
- old[ name ] = elem.style[ name ];
- elem.style[ name ] = options[ name ];
- }
-
- ret = callback.apply( elem, args || [] );
-
- // Revert the old values
- for ( name in options ) {
- elem.style[ name ] = old[ name ];
- }
-
- return ret;
-};
-
-
-var documentElement = document.documentElement;
-
-
-
-( function() {
- var pixelPositionVal, pixelMarginRightVal, boxSizingReliableVal,
- reliableHiddenOffsetsVal, reliableMarginRightVal, reliableMarginLeftVal,
- container = document.createElement( "div" ),
- div = document.createElement( "div" );
-
- // Finish early in limited (non-browser) environments
- if ( !div.style ) {
- return;
- }
-
- div.style.cssText = "float:left;opacity:.5";
-
- // Support: IE<9
- // Make sure that element opacity exists (as opposed to filter)
- support.opacity = div.style.opacity === "0.5";
-
- // Verify style float existence
- // (IE uses styleFloat instead of cssFloat)
- support.cssFloat = !!div.style.cssFloat;
-
- div.style.backgroundClip = "content-box";
- div.cloneNode( true ).style.backgroundClip = "";
- support.clearCloneStyle = div.style.backgroundClip === "content-box";
-
- container = document.createElement( "div" );
- container.style.cssText = "border:0;width:8px;height:0;top:0;left:-9999px;" +
- "padding:0;margin-top:1px;position:absolute";
- div.innerHTML = "";
- container.appendChild( div );
-
- // Support: Firefox<29, Android 2.3
- // Vendor-prefix box-sizing
- support.boxSizing = div.style.boxSizing === "" || div.style.MozBoxSizing === "" ||
- div.style.WebkitBoxSizing === "";
-
- jQuery.extend( support, {
- reliableHiddenOffsets: function() {
- if ( pixelPositionVal == null ) {
- computeStyleTests();
- }
- return reliableHiddenOffsetsVal;
- },
-
- boxSizingReliable: function() {
-
- // We're checking for pixelPositionVal here instead of boxSizingReliableVal
- // since that compresses better and they're computed together anyway.
- if ( pixelPositionVal == null ) {
- computeStyleTests();
- }
- return boxSizingReliableVal;
- },
-
- pixelMarginRight: function() {
-
- // Support: Android 4.0-4.3
- if ( pixelPositionVal == null ) {
- computeStyleTests();
- }
- return pixelMarginRightVal;
- },
-
- pixelPosition: function() {
- if ( pixelPositionVal == null ) {
- computeStyleTests();
- }
- return pixelPositionVal;
- },
-
- reliableMarginRight: function() {
-
- // Support: Android 2.3
- if ( pixelPositionVal == null ) {
- computeStyleTests();
- }
- return reliableMarginRightVal;
- },
-
- reliableMarginLeft: function() {
-
- // Support: IE <=8 only, Android 4.0 - 4.3 only, Firefox <=3 - 37
- if ( pixelPositionVal == null ) {
- computeStyleTests();
- }
- return reliableMarginLeftVal;
- }
- } );
-
- function computeStyleTests() {
- var contents, divStyle,
- documentElement = document.documentElement;
-
- // Setup
- documentElement.appendChild( container );
-
- div.style.cssText =
-
- // Support: Android 2.3
- // Vendor-prefix box-sizing
- "-webkit-box-sizing:border-box;box-sizing:border-box;" +
- "position:relative;display:block;" +
- "margin:auto;border:1px;padding:1px;" +
- "top:1%;width:50%";
-
- // Support: IE<9
- // Assume reasonable values in the absence of getComputedStyle
- pixelPositionVal = boxSizingReliableVal = reliableMarginLeftVal = false;
- pixelMarginRightVal = reliableMarginRightVal = true;
-
- // Check for getComputedStyle so that this code is not run in IE<9.
- if ( window.getComputedStyle ) {
- divStyle = window.getComputedStyle( div );
- pixelPositionVal = ( divStyle || {} ).top !== "1%";
- reliableMarginLeftVal = ( divStyle || {} ).marginLeft === "2px";
- boxSizingReliableVal = ( divStyle || { width: "4px" } ).width === "4px";
-
- // Support: Android 4.0 - 4.3 only
- // Some styles come back with percentage values, even though they shouldn't
- div.style.marginRight = "50%";
- pixelMarginRightVal = ( divStyle || { marginRight: "4px" } ).marginRight === "4px";
-
- // Support: Android 2.3 only
- // Div with explicit width and no margin-right incorrectly
- // gets computed margin-right based on width of container (#3333)
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
- contents = div.appendChild( document.createElement( "div" ) );
-
- // Reset CSS: box-sizing; display; margin; border; padding
- contents.style.cssText = div.style.cssText =
-
- // Support: Android 2.3
- // Vendor-prefix box-sizing
- "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
- "box-sizing:content-box;display:block;margin:0;border:0;padding:0";
- contents.style.marginRight = contents.style.width = "0";
- div.style.width = "1px";
-
- reliableMarginRightVal =
- !parseFloat( ( window.getComputedStyle( contents ) || {} ).marginRight );
-
- div.removeChild( contents );
- }
-
- // Support: IE6-8
- // First check that getClientRects works as expected
- // Check if table cells still have offsetWidth/Height when they are set
- // to display:none and there are still other visible table cells in a
- // table row; if so, offsetWidth/Height are not reliable for use when
- // determining if an element has been hidden directly using
- // display:none (it is still safe to use offsets if a parent element is
- // hidden; don safety goggles and see bug #4512 for more information).
- div.style.display = "none";
- reliableHiddenOffsetsVal = div.getClientRects().length === 0;
- if ( reliableHiddenOffsetsVal ) {
- div.style.display = "";
- div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
- div.childNodes[ 0 ].style.borderCollapse = "separate";
- contents = div.getElementsByTagName( "td" );
- contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none";
- reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
- if ( reliableHiddenOffsetsVal ) {
- contents[ 0 ].style.display = "";
- contents[ 1 ].style.display = "none";
- reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
- }
- }
-
- // Teardown
- documentElement.removeChild( container );
- }
-
-} )();
-
-
-var getStyles, curCSS,
- rposition = /^(top|right|bottom|left)$/;
-
-if ( window.getComputedStyle ) {
- getStyles = function( elem ) {
-
- // Support: IE<=11+, Firefox<=30+ (#15098, #14150)
- // IE throws on elements created in popups
- // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
- var view = elem.ownerDocument.defaultView;
-
- if ( !view || !view.opener ) {
- view = window;
- }
-
- return view.getComputedStyle( elem );
- };
-
- curCSS = function( elem, name, computed ) {
- var width, minWidth, maxWidth, ret,
- style = elem.style;
-
- computed = computed || getStyles( elem );
-
- // getPropertyValue is only needed for .css('filter') in IE9, see #12537
- ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
-
- // Support: Opera 12.1x only
- // Fall back to style even without computed
- // computed is undefined for elems on document fragments
- if ( ( ret === "" || ret === undefined ) && !jQuery.contains( elem.ownerDocument, elem ) ) {
- ret = jQuery.style( elem, name );
- }
-
- if ( computed ) {
-
- // A tribute to the "awesome hack by Dean Edwards"
- // Chrome < 17 and Safari 5.0 uses "computed value"
- // instead of "used value" for margin-right
- // Safari 5.1.7 (at least) returns percentage for a larger set of values,
- // but width seems to be reliably pixels
- // this is against the CSSOM draft spec:
- // http://dev.w3.org/csswg/cssom/#resolved-values
- if ( !support.pixelMarginRight() && rnumnonpx.test( ret ) && rmargin.test( name ) ) {
-
- // Remember the original values
- width = style.width;
- minWidth = style.minWidth;
- maxWidth = style.maxWidth;
-
- // Put in the new values to get a computed value out
- style.minWidth = style.maxWidth = style.width = ret;
- ret = computed.width;
-
- // Revert the changed values
- style.width = width;
- style.minWidth = minWidth;
- style.maxWidth = maxWidth;
- }
- }
-
- // Support: IE
- // IE returns zIndex value as an integer.
- return ret === undefined ?
- ret :
- ret + "";
- };
-} else if ( documentElement.currentStyle ) {
- getStyles = function( elem ) {
- return elem.currentStyle;
- };
-
- curCSS = function( elem, name, computed ) {
- var left, rs, rsLeft, ret,
- style = elem.style;
-
- computed = computed || getStyles( elem );
- ret = computed ? computed[ name ] : undefined;
-
- // Avoid setting ret to empty string here
- // so we don't default to auto
- if ( ret == null && style && style[ name ] ) {
- ret = style[ name ];
- }
-
- // From the awesome hack by Dean Edwards
- // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
-
- // If we're not dealing with a regular pixel number
- // but a number that has a weird ending, we need to convert it to pixels
- // but not position css attributes, as those are
- // proportional to the parent element instead
- // and we can't measure the parent instead because it
- // might trigger a "stacking dolls" problem
- if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {
-
- // Remember the original values
- left = style.left;
- rs = elem.runtimeStyle;
- rsLeft = rs && rs.left;
-
- // Put in the new values to get a computed value out
- if ( rsLeft ) {
- rs.left = elem.currentStyle.left;
- }
- style.left = name === "fontSize" ? "1em" : ret;
- ret = style.pixelLeft + "px";
-
- // Revert the changed values
- style.left = left;
- if ( rsLeft ) {
- rs.left = rsLeft;
- }
- }
-
- // Support: IE
- // IE returns zIndex value as an integer.
- return ret === undefined ?
- ret :
- ret + "" || "auto";
- };
-}
-
-
-
-
-function addGetHookIf( conditionFn, hookFn ) {
-
- // Define the hook, we'll check on the first run if it's really needed.
- return {
- get: function() {
- if ( conditionFn() ) {
-
- // Hook not needed (or it's not possible to use it due
- // to missing dependency), remove it.
- delete this.get;
- return;
- }
-
- // Hook needed; redefine it so that the support test is not executed again.
- return ( this.get = hookFn ).apply( this, arguments );
- }
- };
-}
-
-
-var
-
- ralpha = /alpha\([^)]*\)/i,
- ropacity = /opacity\s*=\s*([^)]*)/i,
-
- // swappable if display is none or starts with table except
- // "table", "table-cell", or "table-caption"
- // see here for display values:
- // https://developer.mozilla.org/en-US/docs/CSS/display
- rdisplayswap = /^(none|table(?!-c[ea]).+)/,
- rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ),
-
- cssShow = { position: "absolute", visibility: "hidden", display: "block" },
- cssNormalTransform = {
- letterSpacing: "0",
- fontWeight: "400"
- },
-
- cssPrefixes = [ "Webkit", "O", "Moz", "ms" ],
- emptyStyle = document.createElement( "div" ).style;
-
-
-// return a css property mapped to a potentially vendor prefixed property
-function vendorPropName( name ) {
-
- // shortcut for names that are not vendor prefixed
- if ( name in emptyStyle ) {
- return name;
- }
-
- // check for vendor prefixed names
- var capName = name.charAt( 0 ).toUpperCase() + name.slice( 1 ),
- i = cssPrefixes.length;
-
- while ( i-- ) {
- name = cssPrefixes[ i ] + capName;
- if ( name in emptyStyle ) {
- return name;
- }
- }
-}
-
-function showHide( elements, show ) {
- var display, elem, hidden,
- values = [],
- index = 0,
- length = elements.length;
-
- for ( ; index < length; index++ ) {
- elem = elements[ index ];
- if ( !elem.style ) {
- continue;
- }
-
- values[ index ] = jQuery._data( elem, "olddisplay" );
- display = elem.style.display;
- if ( show ) {
-
- // Reset the inline display of this element to learn if it is
- // being hidden by cascaded rules or not
- if ( !values[ index ] && display === "none" ) {
- elem.style.display = "";
- }
-
- // Set elements which have been overridden with display: none
- // in a stylesheet to whatever the default browser style is
- // for such an element
- if ( elem.style.display === "" && isHidden( elem ) ) {
- values[ index ] =
- jQuery._data( elem, "olddisplay", defaultDisplay( elem.nodeName ) );
- }
- } else {
- hidden = isHidden( elem );
-
- if ( display && display !== "none" || !hidden ) {
- jQuery._data(
- elem,
- "olddisplay",
- hidden ? display : jQuery.css( elem, "display" )
- );
- }
- }
- }
-
- // Set the display of most of the elements in a second loop
- // to avoid the constant reflow
- for ( index = 0; index < length; index++ ) {
- elem = elements[ index ];
- if ( !elem.style ) {
- continue;
- }
- if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
- elem.style.display = show ? values[ index ] || "" : "none";
- }
- }
-
- return elements;
-}
-
-function setPositiveNumber( elem, value, subtract ) {
- var matches = rnumsplit.exec( value );
- return matches ?
-
- // Guard against undefined "subtract", e.g., when used as in cssHooks
- Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
- value;
-}
-
-function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
- var i = extra === ( isBorderBox ? "border" : "content" ) ?
-
- // If we already have the right measurement, avoid augmentation
- 4 :
-
- // Otherwise initialize for horizontal or vertical properties
- name === "width" ? 1 : 0,
-
- val = 0;
-
- for ( ; i < 4; i += 2 ) {
-
- // both box models exclude margin, so add it if we want it
- if ( extra === "margin" ) {
- val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
- }
-
- if ( isBorderBox ) {
-
- // border-box includes padding, so remove it if we want content
- if ( extra === "content" ) {
- val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
- }
-
- // at this point, extra isn't border nor margin, so remove border
- if ( extra !== "margin" ) {
- val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
- }
- } else {
-
- // at this point, extra isn't content, so add padding
- val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
-
- // at this point, extra isn't content nor padding, so add border
- if ( extra !== "padding" ) {
- val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
- }
- }
- }
-
- return val;
-}
-
-function getWidthOrHeight( elem, name, extra ) {
-
- // Start with offset property, which is equivalent to the border-box value
- var valueIsBorderBox = true,
- val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
- styles = getStyles( elem ),
- isBorderBox = support.boxSizing &&
- jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
-
- // some non-html elements return undefined for offsetWidth, so check for null/undefined
- // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
- // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
- if ( val <= 0 || val == null ) {
-
- // Fall back to computed then uncomputed css if necessary
- val = curCSS( elem, name, styles );
- if ( val < 0 || val == null ) {
- val = elem.style[ name ];
- }
-
- // Computed unit is not pixels. Stop here and return.
- if ( rnumnonpx.test( val ) ) {
- return val;
- }
-
- // we need the check for style in case a browser which returns unreliable values
- // for getComputedStyle silently falls back to the reliable elem.style
- valueIsBorderBox = isBorderBox &&
- ( support.boxSizingReliable() || val === elem.style[ name ] );
-
- // Normalize "", auto, and prepare for extra
- val = parseFloat( val ) || 0;
- }
-
- // use the active box-sizing model to add/subtract irrelevant styles
- return ( val +
- augmentWidthOrHeight(
- elem,
- name,
- extra || ( isBorderBox ? "border" : "content" ),
- valueIsBorderBox,
- styles
- )
- ) + "px";
-}
-
-jQuery.extend( {
-
- // Add in style property hooks for overriding the default
- // behavior of getting and setting a style property
- cssHooks: {
- opacity: {
- get: function( elem, computed ) {
- if ( computed ) {
-
- // We should always get a number back from opacity
- var ret = curCSS( elem, "opacity" );
- return ret === "" ? "1" : ret;
- }
- }
- }
- },
-
- // Don't automatically add "px" to these possibly-unitless properties
- cssNumber: {
- "animationIterationCount": true,
- "columnCount": true,
- "fillOpacity": true,
- "flexGrow": true,
- "flexShrink": true,
- "fontWeight": true,
- "lineHeight": true,
- "opacity": true,
- "order": true,
- "orphans": true,
- "widows": true,
- "zIndex": true,
- "zoom": true
- },
-
- // Add in properties whose names you wish to fix before
- // setting or getting the value
- cssProps: {
-
- // normalize float css property
- "float": support.cssFloat ? "cssFloat" : "styleFloat"
- },
-
- // Get and set the style property on a DOM Node
- style: function( elem, name, value, extra ) {
-
- // Don't set styles on text and comment nodes
- if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
- return;
- }
-
- // Make sure that we're working with the right name
- var ret, type, hooks,
- origName = jQuery.camelCase( name ),
- style = elem.style;
-
- name = jQuery.cssProps[ origName ] ||
- ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
-
- // gets hook for the prefixed version
- // followed by the unprefixed version
- hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
-
- // Check if we're setting a value
- if ( value !== undefined ) {
- type = typeof value;
-
- // Convert "+=" or "-=" to relative numbers (#7345)
- if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
- value = adjustCSS( elem, name, ret );
-
- // Fixes bug #9237
- type = "number";
- }
-
- // Make sure that null and NaN values aren't set. See: #7116
- if ( value == null || value !== value ) {
- return;
- }
-
- // If a number was passed in, add the unit (except for certain CSS properties)
- if ( type === "number" ) {
- value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
- }
-
- // Fixes #8908, it can be done more correctly by specifing setters in cssHooks,
- // but it would mean to define eight
- // (for every problematic property) identical functions
- if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
- style[ name ] = "inherit";
- }
-
- // If a hook was provided, use that value, otherwise just set the specified value
- if ( !hooks || !( "set" in hooks ) ||
- ( value = hooks.set( elem, value, extra ) ) !== undefined ) {
-
- // Support: IE
- // Swallow errors from 'invalid' CSS values (#5509)
- try {
- style[ name ] = value;
- } catch ( e ) {}
- }
-
- } else {
-
- // If a hook was provided get the non-computed value from there
- if ( hooks && "get" in hooks &&
- ( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
-
- return ret;
- }
-
- // Otherwise just get the value from the style object
- return style[ name ];
- }
- },
-
- css: function( elem, name, extra, styles ) {
- var num, val, hooks,
- origName = jQuery.camelCase( name );
-
- // Make sure that we're working with the right name
- name = jQuery.cssProps[ origName ] ||
- ( jQuery.cssProps[ origName ] = vendorPropName( origName ) || origName );
-
- // gets hook for the prefixed version
- // followed by the unprefixed version
- hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
-
- // If a hook was provided get the computed value from there
- if ( hooks && "get" in hooks ) {
- val = hooks.get( elem, true, extra );
- }
-
- // Otherwise, if a way to get the computed value exists, use that
- if ( val === undefined ) {
- val = curCSS( elem, name, styles );
- }
-
- //convert "normal" to computed value
- if ( val === "normal" && name in cssNormalTransform ) {
- val = cssNormalTransform[ name ];
- }
-
- // Return, converting to number if forced or a qualifier was provided and val looks numeric
- if ( extra === "" || extra ) {
- num = parseFloat( val );
- return extra === true || isFinite( num ) ? num || 0 : val;
- }
- return val;
- }
-} );
-
-jQuery.each( [ "height", "width" ], function( i, name ) {
- jQuery.cssHooks[ name ] = {
- get: function( elem, computed, extra ) {
- if ( computed ) {
-
- // certain elements can have dimension info if we invisibly show them
- // however, it must have a current display style that would benefit from this
- return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
- elem.offsetWidth === 0 ?
- swap( elem, cssShow, function() {
- return getWidthOrHeight( elem, name, extra );
- } ) :
- getWidthOrHeight( elem, name, extra );
- }
- },
-
- set: function( elem, value, extra ) {
- var styles = extra && getStyles( elem );
- return setPositiveNumber( elem, value, extra ?
- augmentWidthOrHeight(
- elem,
- name,
- extra,
- support.boxSizing &&
- jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
- styles
- ) : 0
- );
- }
- };
-} );
-
-if ( !support.opacity ) {
- jQuery.cssHooks.opacity = {
- get: function( elem, computed ) {
-
- // IE uses filters for opacity
- return ropacity.test( ( computed && elem.currentStyle ?
- elem.currentStyle.filter :
- elem.style.filter ) || "" ) ?
- ( 0.01 * parseFloat( RegExp.$1 ) ) + "" :
- computed ? "1" : "";
- },
-
- set: function( elem, value ) {
- var style = elem.style,
- currentStyle = elem.currentStyle,
- opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
- filter = currentStyle && currentStyle.filter || style.filter || "";
-
- // IE has trouble with opacity if it does not have layout
- // Force it by setting the zoom level
- style.zoom = 1;
-
- // if setting opacity to 1, and no other filters exist -
- // attempt to remove filter attribute #6652
- // if value === "", then remove inline opacity #12685
- if ( ( value >= 1 || value === "" ) &&
- jQuery.trim( filter.replace( ralpha, "" ) ) === "" &&
- style.removeAttribute ) {
-
- // Setting style.filter to null, "" & " " still leave "filter:" in the cssText
- // if "filter:" is present at all, clearType is disabled, we want to avoid this
- // style.removeAttribute is IE Only, but so apparently is this code path...
- style.removeAttribute( "filter" );
-
- // if there is no filter style applied in a css rule
- // or unset inline opacity, we are done
- if ( value === "" || currentStyle && !currentStyle.filter ) {
- return;
- }
- }
-
- // otherwise, set new filter values
- style.filter = ralpha.test( filter ) ?
- filter.replace( ralpha, opacity ) :
- filter + " " + opacity;
- }
- };
-}
-
-jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
- function( elem, computed ) {
- if ( computed ) {
- return swap( elem, { "display": "inline-block" },
- curCSS, [ elem, "marginRight" ] );
- }
- }
-);
-
-jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
- function( elem, computed ) {
- if ( computed ) {
- return (
- parseFloat( curCSS( elem, "marginLeft" ) ) ||
-
- // Support: IE<=11+
- // Running getBoundingClientRect on a disconnected node in IE throws an error
- // Support: IE8 only
- // getClientRects() errors on disconnected elems
- ( jQuery.contains( elem.ownerDocument, elem ) ?
- elem.getBoundingClientRect().left -
- swap( elem, { marginLeft: 0 }, function() {
- return elem.getBoundingClientRect().left;
- } ) :
- 0
- )
- ) + "px";
- }
- }
-);
-
-// These hooks are used by animate to expand properties
-jQuery.each( {
- margin: "",
- padding: "",
- border: "Width"
-}, function( prefix, suffix ) {
- jQuery.cssHooks[ prefix + suffix ] = {
- expand: function( value ) {
- var i = 0,
- expanded = {},
-
- // assumes a single number if not a string
- parts = typeof value === "string" ? value.split( " " ) : [ value ];
-
- for ( ; i < 4; i++ ) {
- expanded[ prefix + cssExpand[ i ] + suffix ] =
- parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
- }
-
- return expanded;
- }
- };
-
- if ( !rmargin.test( prefix ) ) {
- jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
- }
-} );
-
-jQuery.fn.extend( {
- css: function( name, value ) {
- return access( this, function( elem, name, value ) {
- var styles, len,
- map = {},
- i = 0;
-
- if ( jQuery.isArray( name ) ) {
- styles = getStyles( elem );
- len = name.length;
-
- for ( ; i < len; i++ ) {
- map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
- }
-
- return map;
- }
-
- return value !== undefined ?
- jQuery.style( elem, name, value ) :
- jQuery.css( elem, name );
- }, name, value, arguments.length > 1 );
- },
- show: function() {
- return showHide( this, true );
- },
- hide: function() {
- return showHide( this );
- },
- toggle: function( state ) {
- if ( typeof state === "boolean" ) {
- return state ? this.show() : this.hide();
- }
-
- return this.each( function() {
- if ( isHidden( this ) ) {
- jQuery( this ).show();
- } else {
- jQuery( this ).hide();
- }
- } );
- }
-} );
-
-
-function Tween( elem, options, prop, end, easing ) {
- return new Tween.prototype.init( elem, options, prop, end, easing );
-}
-jQuery.Tween = Tween;
-
-Tween.prototype = {
- constructor: Tween,
- init: function( elem, options, prop, end, easing, unit ) {
- this.elem = elem;
- this.prop = prop;
- this.easing = easing || jQuery.easing._default;
- this.options = options;
- this.start = this.now = this.cur();
- this.end = end;
- this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
- },
- cur: function() {
- var hooks = Tween.propHooks[ this.prop ];
-
- return hooks && hooks.get ?
- hooks.get( this ) :
- Tween.propHooks._default.get( this );
- },
- run: function( percent ) {
- var eased,
- hooks = Tween.propHooks[ this.prop ];
-
- if ( this.options.duration ) {
- this.pos = eased = jQuery.easing[ this.easing ](
- percent, this.options.duration * percent, 0, 1, this.options.duration
- );
- } else {
- this.pos = eased = percent;
- }
- this.now = ( this.end - this.start ) * eased + this.start;
-
- if ( this.options.step ) {
- this.options.step.call( this.elem, this.now, this );
- }
-
- if ( hooks && hooks.set ) {
- hooks.set( this );
- } else {
- Tween.propHooks._default.set( this );
- }
- return this;
- }
-};
-
-Tween.prototype.init.prototype = Tween.prototype;
-
-Tween.propHooks = {
- _default: {
- get: function( tween ) {
- var result;
-
- // Use a property on the element directly when it is not a DOM element,
- // or when there is no matching style property that exists.
- if ( tween.elem.nodeType !== 1 ||
- tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
- return tween.elem[ tween.prop ];
- }
-
- // passing an empty string as a 3rd parameter to .css will automatically
- // attempt a parseFloat and fallback to a string if the parse fails
- // so, simple values such as "10px" are parsed to Float.
- // complex values such as "rotate(1rad)" are returned as is.
- result = jQuery.css( tween.elem, tween.prop, "" );
-
- // Empty strings, null, undefined and "auto" are converted to 0.
- return !result || result === "auto" ? 0 : result;
- },
- set: function( tween ) {
-
- // use step hook for back compat - use cssHook if its there - use .style if its
- // available and use plain properties where available
- if ( jQuery.fx.step[ tween.prop ] ) {
- jQuery.fx.step[ tween.prop ]( tween );
- } else if ( tween.elem.nodeType === 1 &&
- ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
- jQuery.cssHooks[ tween.prop ] ) ) {
- jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
- } else {
- tween.elem[ tween.prop ] = tween.now;
- }
- }
- }
-};
-
-// Support: IE <=9
-// Panic based approach to setting things on disconnected nodes
-
-Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
- set: function( tween ) {
- if ( tween.elem.nodeType && tween.elem.parentNode ) {
- tween.elem[ tween.prop ] = tween.now;
- }
- }
-};
-
-jQuery.easing = {
- linear: function( p ) {
- return p;
- },
- swing: function( p ) {
- return 0.5 - Math.cos( p * Math.PI ) / 2;
- },
- _default: "swing"
-};
-
-jQuery.fx = Tween.prototype.init;
-
-// Back Compat <1.8 extension point
-jQuery.fx.step = {};
-
-
-
-
-var
- fxNow, timerId,
- rfxtypes = /^(?:toggle|show|hide)$/,
- rrun = /queueHooks$/;
-
-// Animations created synchronously will run synchronously
-function createFxNow() {
- window.setTimeout( function() {
- fxNow = undefined;
- } );
- return ( fxNow = jQuery.now() );
-}
-
-// Generate parameters to create a standard animation
-function genFx( type, includeWidth ) {
- var which,
- attrs = { height: type },
- i = 0;
-
- // if we include width, step value is 1 to do all cssExpand values,
- // if we don't include width, step value is 2 to skip over Left and Right
- includeWidth = includeWidth ? 1 : 0;
- for ( ; i < 4 ; i += 2 - includeWidth ) {
- which = cssExpand[ i ];
- attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
- }
-
- if ( includeWidth ) {
- attrs.opacity = attrs.width = type;
- }
-
- return attrs;
-}
-
-function createTween( value, prop, animation ) {
- var tween,
- collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
- index = 0,
- length = collection.length;
- for ( ; index < length; index++ ) {
- if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
-
- // we're done with this property
- return tween;
- }
- }
-}
-
-function defaultPrefilter( elem, props, opts ) {
- /* jshint validthis: true */
- var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
- anim = this,
- orig = {},
- style = elem.style,
- hidden = elem.nodeType && isHidden( elem ),
- dataShow = jQuery._data( elem, "fxshow" );
-
- // handle queue: false promises
- if ( !opts.queue ) {
- hooks = jQuery._queueHooks( elem, "fx" );
- if ( hooks.unqueued == null ) {
- hooks.unqueued = 0;
- oldfire = hooks.empty.fire;
- hooks.empty.fire = function() {
- if ( !hooks.unqueued ) {
- oldfire();
- }
- };
- }
- hooks.unqueued++;
-
- anim.always( function() {
-
- // doing this makes sure that the complete handler will be called
- // before this completes
- anim.always( function() {
- hooks.unqueued--;
- if ( !jQuery.queue( elem, "fx" ).length ) {
- hooks.empty.fire();
- }
- } );
- } );
- }
-
- // height/width overflow pass
- if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
-
- // Make sure that nothing sneaks out
- // Record all 3 overflow attributes because IE does not
- // change the overflow attribute when overflowX and
- // overflowY are set to the same value
- opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
-
- // Set display property to inline-block for height/width
- // animations on inline elements that are having width/height animated
- display = jQuery.css( elem, "display" );
-
- // Test default display if display is currently "none"
- checkDisplay = display === "none" ?
- jQuery._data( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
-
- if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
-
- // inline-level elements accept inline-block;
- // block-level elements need to be inline with layout
- if ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === "inline" ) {
- style.display = "inline-block";
- } else {
- style.zoom = 1;
- }
- }
- }
-
- if ( opts.overflow ) {
- style.overflow = "hidden";
- if ( !support.shrinkWrapBlocks() ) {
- anim.always( function() {
- style.overflow = opts.overflow[ 0 ];
- style.overflowX = opts.overflow[ 1 ];
- style.overflowY = opts.overflow[ 2 ];
- } );
- }
- }
-
- // show/hide pass
- for ( prop in props ) {
- value = props[ prop ];
- if ( rfxtypes.exec( value ) ) {
- delete props[ prop ];
- toggle = toggle || value === "toggle";
- if ( value === ( hidden ? "hide" : "show" ) ) {
-
- // If there is dataShow left over from a stopped hide or show
- // and we are going to proceed with show, we should pretend to be hidden
- if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
- hidden = true;
- } else {
- continue;
- }
- }
- orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
-
- // Any non-fx value stops us from restoring the original display value
- } else {
- display = undefined;
- }
- }
-
- if ( !jQuery.isEmptyObject( orig ) ) {
- if ( dataShow ) {
- if ( "hidden" in dataShow ) {
- hidden = dataShow.hidden;
- }
- } else {
- dataShow = jQuery._data( elem, "fxshow", {} );
- }
-
- // store state if its toggle - enables .stop().toggle() to "reverse"
- if ( toggle ) {
- dataShow.hidden = !hidden;
- }
- if ( hidden ) {
- jQuery( elem ).show();
- } else {
- anim.done( function() {
- jQuery( elem ).hide();
- } );
- }
- anim.done( function() {
- var prop;
- jQuery._removeData( elem, "fxshow" );
- for ( prop in orig ) {
- jQuery.style( elem, prop, orig[ prop ] );
- }
- } );
- for ( prop in orig ) {
- tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
-
- if ( !( prop in dataShow ) ) {
- dataShow[ prop ] = tween.start;
- if ( hidden ) {
- tween.end = tween.start;
- tween.start = prop === "width" || prop === "height" ? 1 : 0;
- }
- }
- }
-
- // If this is a noop like .hide().hide(), restore an overwritten display value
- } else if ( ( display === "none" ? defaultDisplay( elem.nodeName ) : display ) === "inline" ) {
- style.display = display;
- }
-}
-
-function propFilter( props, specialEasing ) {
- var index, name, easing, value, hooks;
-
- // camelCase, specialEasing and expand cssHook pass
- for ( index in props ) {
- name = jQuery.camelCase( index );
- easing = specialEasing[ name ];
- value = props[ index ];
- if ( jQuery.isArray( value ) ) {
- easing = value[ 1 ];
- value = props[ index ] = value[ 0 ];
- }
-
- if ( index !== name ) {
- props[ name ] = value;
- delete props[ index ];
- }
-
- hooks = jQuery.cssHooks[ name ];
- if ( hooks && "expand" in hooks ) {
- value = hooks.expand( value );
- delete props[ name ];
-
- // not quite $.extend, this wont overwrite keys already present.
- // also - reusing 'index' from above because we have the correct "name"
- for ( index in value ) {
- if ( !( index in props ) ) {
- props[ index ] = value[ index ];
- specialEasing[ index ] = easing;
- }
- }
- } else {
- specialEasing[ name ] = easing;
- }
- }
-}
-
-function Animation( elem, properties, options ) {
- var result,
- stopped,
- index = 0,
- length = Animation.prefilters.length,
- deferred = jQuery.Deferred().always( function() {
-
- // don't match elem in the :animated selector
- delete tick.elem;
- } ),
- tick = function() {
- if ( stopped ) {
- return false;
- }
- var currentTime = fxNow || createFxNow(),
- remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
-
- // Support: Android 2.3
- // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
- temp = remaining / animation.duration || 0,
- percent = 1 - temp,
- index = 0,
- length = animation.tweens.length;
-
- for ( ; index < length ; index++ ) {
- animation.tweens[ index ].run( percent );
- }
-
- deferred.notifyWith( elem, [ animation, percent, remaining ] );
-
- if ( percent < 1 && length ) {
- return remaining;
- } else {
- deferred.resolveWith( elem, [ animation ] );
- return false;
- }
- },
- animation = deferred.promise( {
- elem: elem,
- props: jQuery.extend( {}, properties ),
- opts: jQuery.extend( true, {
- specialEasing: {},
- easing: jQuery.easing._default
- }, options ),
- originalProperties: properties,
- originalOptions: options,
- startTime: fxNow || createFxNow(),
- duration: options.duration,
- tweens: [],
- createTween: function( prop, end ) {
- var tween = jQuery.Tween( elem, animation.opts, prop, end,
- animation.opts.specialEasing[ prop ] || animation.opts.easing );
- animation.tweens.push( tween );
- return tween;
- },
- stop: function( gotoEnd ) {
- var index = 0,
-
- // if we are going to the end, we want to run all the tweens
- // otherwise we skip this part
- length = gotoEnd ? animation.tweens.length : 0;
- if ( stopped ) {
- return this;
- }
- stopped = true;
- for ( ; index < length ; index++ ) {
- animation.tweens[ index ].run( 1 );
- }
-
- // resolve when we played the last frame
- // otherwise, reject
- if ( gotoEnd ) {
- deferred.notifyWith( elem, [ animation, 1, 0 ] );
- deferred.resolveWith( elem, [ animation, gotoEnd ] );
- } else {
- deferred.rejectWith( elem, [ animation, gotoEnd ] );
- }
- return this;
- }
- } ),
- props = animation.props;
-
- propFilter( props, animation.opts.specialEasing );
-
- for ( ; index < length ; index++ ) {
- result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
- if ( result ) {
- if ( jQuery.isFunction( result.stop ) ) {
- jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
- jQuery.proxy( result.stop, result );
- }
- return result;
- }
- }
-
- jQuery.map( props, createTween, animation );
-
- if ( jQuery.isFunction( animation.opts.start ) ) {
- animation.opts.start.call( elem, animation );
- }
-
- jQuery.fx.timer(
- jQuery.extend( tick, {
- elem: elem,
- anim: animation,
- queue: animation.opts.queue
- } )
- );
-
- // attach callbacks from options
- return animation.progress( animation.opts.progress )
- .done( animation.opts.done, animation.opts.complete )
- .fail( animation.opts.fail )
- .always( animation.opts.always );
-}
-
-jQuery.Animation = jQuery.extend( Animation, {
-
- tweeners: {
- "*": [ function( prop, value ) {
- var tween = this.createTween( prop, value );
- adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
- return tween;
- } ]
- },
-
- tweener: function( props, callback ) {
- if ( jQuery.isFunction( props ) ) {
- callback = props;
- props = [ "*" ];
- } else {
- props = props.match( rnotwhite );
- }
-
- var prop,
- index = 0,
- length = props.length;
-
- for ( ; index < length ; index++ ) {
- prop = props[ index ];
- Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
- Animation.tweeners[ prop ].unshift( callback );
- }
- },
-
- prefilters: [ defaultPrefilter ],
-
- prefilter: function( callback, prepend ) {
- if ( prepend ) {
- Animation.prefilters.unshift( callback );
- } else {
- Animation.prefilters.push( callback );
- }
- }
-} );
-
-jQuery.speed = function( speed, easing, fn ) {
- var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
- complete: fn || !fn && easing ||
- jQuery.isFunction( speed ) && speed,
- duration: speed,
- easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
- };
-
- opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
- opt.duration in jQuery.fx.speeds ?
- jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
-
- // normalize opt.queue - true/undefined/null -> "fx"
- if ( opt.queue == null || opt.queue === true ) {
- opt.queue = "fx";
- }
-
- // Queueing
- opt.old = opt.complete;
-
- opt.complete = function() {
- if ( jQuery.isFunction( opt.old ) ) {
- opt.old.call( this );
- }
-
- if ( opt.queue ) {
- jQuery.dequeue( this, opt.queue );
- }
- };
-
- return opt;
-};
-
-jQuery.fn.extend( {
- fadeTo: function( speed, to, easing, callback ) {
-
- // show any hidden elements after setting opacity to 0
- return this.filter( isHidden ).css( "opacity", 0 ).show()
-
- // animate to the value specified
- .end().animate( { opacity: to }, speed, easing, callback );
- },
- animate: function( prop, speed, easing, callback ) {
- var empty = jQuery.isEmptyObject( prop ),
- optall = jQuery.speed( speed, easing, callback ),
- doAnimation = function() {
-
- // Operate on a copy of prop so per-property easing won't be lost
- var anim = Animation( this, jQuery.extend( {}, prop ), optall );
-
- // Empty animations, or finishing resolves immediately
- if ( empty || jQuery._data( this, "finish" ) ) {
- anim.stop( true );
- }
- };
- doAnimation.finish = doAnimation;
-
- return empty || optall.queue === false ?
- this.each( doAnimation ) :
- this.queue( optall.queue, doAnimation );
- },
- stop: function( type, clearQueue, gotoEnd ) {
- var stopQueue = function( hooks ) {
- var stop = hooks.stop;
- delete hooks.stop;
- stop( gotoEnd );
- };
-
- if ( typeof type !== "string" ) {
- gotoEnd = clearQueue;
- clearQueue = type;
- type = undefined;
- }
- if ( clearQueue && type !== false ) {
- this.queue( type || "fx", [] );
- }
-
- return this.each( function() {
- var dequeue = true,
- index = type != null && type + "queueHooks",
- timers = jQuery.timers,
- data = jQuery._data( this );
-
- if ( index ) {
- if ( data[ index ] && data[ index ].stop ) {
- stopQueue( data[ index ] );
- }
- } else {
- for ( index in data ) {
- if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
- stopQueue( data[ index ] );
- }
- }
- }
-
- for ( index = timers.length; index--; ) {
- if ( timers[ index ].elem === this &&
- ( type == null || timers[ index ].queue === type ) ) {
-
- timers[ index ].anim.stop( gotoEnd );
- dequeue = false;
- timers.splice( index, 1 );
- }
- }
-
- // start the next in the queue if the last step wasn't forced
- // timers currently will call their complete callbacks, which will dequeue
- // but only if they were gotoEnd
- if ( dequeue || !gotoEnd ) {
- jQuery.dequeue( this, type );
- }
- } );
- },
- finish: function( type ) {
- if ( type !== false ) {
- type = type || "fx";
- }
- return this.each( function() {
- var index,
- data = jQuery._data( this ),
- queue = data[ type + "queue" ],
- hooks = data[ type + "queueHooks" ],
- timers = jQuery.timers,
- length = queue ? queue.length : 0;
-
- // enable finishing flag on private data
- data.finish = true;
-
- // empty the queue first
- jQuery.queue( this, type, [] );
-
- if ( hooks && hooks.stop ) {
- hooks.stop.call( this, true );
- }
-
- // look for any active animations, and finish them
- for ( index = timers.length; index--; ) {
- if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
- timers[ index ].anim.stop( true );
- timers.splice( index, 1 );
- }
- }
-
- // look for any animations in the old queue and finish them
- for ( index = 0; index < length; index++ ) {
- if ( queue[ index ] && queue[ index ].finish ) {
- queue[ index ].finish.call( this );
- }
- }
-
- // turn off finishing flag
- delete data.finish;
- } );
- }
-} );
-
-jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
- var cssFn = jQuery.fn[ name ];
- jQuery.fn[ name ] = function( speed, easing, callback ) {
- return speed == null || typeof speed === "boolean" ?
- cssFn.apply( this, arguments ) :
- this.animate( genFx( name, true ), speed, easing, callback );
- };
-} );
-
-// Generate shortcuts for custom animations
-jQuery.each( {
- slideDown: genFx( "show" ),
- slideUp: genFx( "hide" ),
- slideToggle: genFx( "toggle" ),
- fadeIn: { opacity: "show" },
- fadeOut: { opacity: "hide" },
- fadeToggle: { opacity: "toggle" }
-}, function( name, props ) {
- jQuery.fn[ name ] = function( speed, easing, callback ) {
- return this.animate( props, speed, easing, callback );
- };
-} );
-
-jQuery.timers = [];
-jQuery.fx.tick = function() {
- var timer,
- timers = jQuery.timers,
- i = 0;
-
- fxNow = jQuery.now();
-
- for ( ; i < timers.length; i++ ) {
- timer = timers[ i ];
-
- // Checks the timer has not already been removed
- if ( !timer() && timers[ i ] === timer ) {
- timers.splice( i--, 1 );
- }
- }
-
- if ( !timers.length ) {
- jQuery.fx.stop();
- }
- fxNow = undefined;
-};
-
-jQuery.fx.timer = function( timer ) {
- jQuery.timers.push( timer );
- if ( timer() ) {
- jQuery.fx.start();
- } else {
- jQuery.timers.pop();
- }
-};
-
-jQuery.fx.interval = 13;
-
-jQuery.fx.start = function() {
- if ( !timerId ) {
- timerId = window.setInterval( jQuery.fx.tick, jQuery.fx.interval );
- }
-};
-
-jQuery.fx.stop = function() {
- window.clearInterval( timerId );
- timerId = null;
-};
-
-jQuery.fx.speeds = {
- slow: 600,
- fast: 200,
-
- // Default speed
- _default: 400
-};
-
-
-// Based off of the plugin by Clint Helfers, with permission.
-// http://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
-jQuery.fn.delay = function( time, type ) {
- time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
- type = type || "fx";
-
- return this.queue( type, function( next, hooks ) {
- var timeout = window.setTimeout( next, time );
- hooks.stop = function() {
- window.clearTimeout( timeout );
- };
- } );
-};
-
-
-( function() {
- var a,
- input = document.createElement( "input" ),
- div = document.createElement( "div" ),
- select = document.createElement( "select" ),
- opt = select.appendChild( document.createElement( "option" ) );
-
- // Setup
- div = document.createElement( "div" );
- div.setAttribute( "className", "t" );
- div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
- a = div.getElementsByTagName( "a" )[ 0 ];
-
- // Support: Windows Web Apps (WWA)
- // `type` must use .setAttribute for WWA (#14901)
- input.setAttribute( "type", "checkbox" );
- div.appendChild( input );
-
- a = div.getElementsByTagName( "a" )[ 0 ];
-
- // First batch of tests.
- a.style.cssText = "top:1px";
-
- // Test setAttribute on camelCase class.
- // If it works, we need attrFixes when doing get/setAttribute (ie6/7)
- support.getSetAttribute = div.className !== "t";
-
- // Get the style information from getAttribute
- // (IE uses .cssText instead)
- support.style = /top/.test( a.getAttribute( "style" ) );
-
- // Make sure that URLs aren't manipulated
- // (IE normalizes it by default)
- support.hrefNormalized = a.getAttribute( "href" ) === "/a";
-
- // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere)
- support.checkOn = !!input.value;
-
- // Make sure that a selected-by-default option has a working selected property.
- // (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
- support.optSelected = opt.selected;
-
- // Tests for enctype support on a form (#6743)
- support.enctype = !!document.createElement( "form" ).enctype;
-
- // Make sure that the options inside disabled selects aren't marked as disabled
- // (WebKit marks them as disabled)
- select.disabled = true;
- support.optDisabled = !opt.disabled;
-
- // Support: IE8 only
- // Check if we can trust getAttribute("value")
- input = document.createElement( "input" );
- input.setAttribute( "value", "" );
- support.input = input.getAttribute( "value" ) === "";
-
- // Check if an input maintains its value after becoming a radio
- input.value = "t";
- input.setAttribute( "type", "radio" );
- support.radioValue = input.value === "t";
-} )();
-
-
-var rreturn = /\r/g,
- rspaces = /[\x20\t\r\n\f]+/g;
-
-jQuery.fn.extend( {
- val: function( value ) {
- var hooks, ret, isFunction,
- elem = this[ 0 ];
-
- if ( !arguments.length ) {
- if ( elem ) {
- hooks = jQuery.valHooks[ elem.type ] ||
- jQuery.valHooks[ elem.nodeName.toLowerCase() ];
-
- if (
- hooks &&
- "get" in hooks &&
- ( ret = hooks.get( elem, "value" ) ) !== undefined
- ) {
- return ret;
- }
-
- ret = elem.value;
-
- return typeof ret === "string" ?
-
- // handle most common string cases
- ret.replace( rreturn, "" ) :
-
- // handle cases where value is null/undef or number
- ret == null ? "" : ret;
- }
-
- return;
- }
-
- isFunction = jQuery.isFunction( value );
-
- return this.each( function( i ) {
- var val;
-
- if ( this.nodeType !== 1 ) {
- return;
- }
-
- if ( isFunction ) {
- val = value.call( this, i, jQuery( this ).val() );
- } else {
- val = value;
- }
-
- // Treat null/undefined as ""; convert numbers to string
- if ( val == null ) {
- val = "";
- } else if ( typeof val === "number" ) {
- val += "";
- } else if ( jQuery.isArray( val ) ) {
- val = jQuery.map( val, function( value ) {
- return value == null ? "" : value + "";
- } );
- }
-
- hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
-
- // If set returns undefined, fall back to normal setting
- if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
- this.value = val;
- }
- } );
- }
-} );
-
-jQuery.extend( {
- valHooks: {
- option: {
- get: function( elem ) {
- var val = jQuery.find.attr( elem, "value" );
- return val != null ?
- val :
-
- // Support: IE10-11+
- // option.text throws exceptions (#14686, #14858)
- // Strip and collapse whitespace
- // https://html.spec.whatwg.org/#strip-and-collapse-whitespace
- jQuery.trim( jQuery.text( elem ) ).replace( rspaces, " " );
- }
- },
- select: {
- get: function( elem ) {
- var value, option,
- options = elem.options,
- index = elem.selectedIndex,
- one = elem.type === "select-one" || index < 0,
- values = one ? null : [],
- max = one ? index + 1 : options.length,
- i = index < 0 ?
- max :
- one ? index : 0;
-
- // Loop through all the selected options
- for ( ; i < max; i++ ) {
- option = options[ i ];
-
- // oldIE doesn't update selected after form reset (#2551)
- if ( ( option.selected || i === index ) &&
-
- // Don't return options that are disabled or in a disabled optgroup
- ( support.optDisabled ?
- !option.disabled :
- option.getAttribute( "disabled" ) === null ) &&
- ( !option.parentNode.disabled ||
- !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
-
- // Get the specific value for the option
- value = jQuery( option ).val();
-
- // We don't need an array for one selects
- if ( one ) {
- return value;
- }
-
- // Multi-Selects return an array
- values.push( value );
- }
- }
-
- return values;
- },
-
- set: function( elem, value ) {
- var optionSet, option,
- options = elem.options,
- values = jQuery.makeArray( value ),
- i = options.length;
-
- while ( i-- ) {
- option = options[ i ];
-
- if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 ) {
-
- // Support: IE6
- // When new option element is added to select box we need to
- // force reflow of newly added node in order to workaround delay
- // of initialization properties
- try {
- option.selected = optionSet = true;
-
- } catch ( _ ) {
-
- // Will be executed only in IE6
- option.scrollHeight;
- }
-
- } else {
- option.selected = false;
- }
- }
-
- // Force browsers to behave consistently when non-matching value is set
- if ( !optionSet ) {
- elem.selectedIndex = -1;
- }
-
- return options;
- }
- }
- }
-} );
-
-// Radios and checkboxes getter/setter
-jQuery.each( [ "radio", "checkbox" ], function() {
- jQuery.valHooks[ this ] = {
- set: function( elem, value ) {
- if ( jQuery.isArray( value ) ) {
- return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
- }
- }
- };
- if ( !support.checkOn ) {
- jQuery.valHooks[ this ].get = function( elem ) {
- return elem.getAttribute( "value" ) === null ? "on" : elem.value;
- };
- }
-} );
-
-
-
-
-var nodeHook, boolHook,
- attrHandle = jQuery.expr.attrHandle,
- ruseDefault = /^(?:checked|selected)$/i,
- getSetAttribute = support.getSetAttribute,
- getSetInput = support.input;
-
-jQuery.fn.extend( {
- attr: function( name, value ) {
- return access( this, jQuery.attr, name, value, arguments.length > 1 );
- },
-
- removeAttr: function( name ) {
- return this.each( function() {
- jQuery.removeAttr( this, name );
- } );
- }
-} );
-
-jQuery.extend( {
- attr: function( elem, name, value ) {
- var ret, hooks,
- nType = elem.nodeType;
-
- // Don't get/set attributes on text, comment and attribute nodes
- if ( nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- // Fallback to prop when attributes are not supported
- if ( typeof elem.getAttribute === "undefined" ) {
- return jQuery.prop( elem, name, value );
- }
-
- // All attributes are lowercase
- // Grab necessary hook if one is defined
- if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
- name = name.toLowerCase();
- hooks = jQuery.attrHooks[ name ] ||
- ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
- }
-
- if ( value !== undefined ) {
- if ( value === null ) {
- jQuery.removeAttr( elem, name );
- return;
- }
-
- if ( hooks && "set" in hooks &&
- ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
- return ret;
- }
-
- elem.setAttribute( name, value + "" );
- return value;
- }
-
- if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
- return ret;
- }
-
- ret = jQuery.find.attr( elem, name );
-
- // Non-existent attributes return null, we normalize to undefined
- return ret == null ? undefined : ret;
- },
-
- attrHooks: {
- type: {
- set: function( elem, value ) {
- if ( !support.radioValue && value === "radio" &&
- jQuery.nodeName( elem, "input" ) ) {
-
- // Setting the type on a radio button after the value resets the value in IE8-9
- // Reset value to default in case type is set after value during creation
- var val = elem.value;
- elem.setAttribute( "type", value );
- if ( val ) {
- elem.value = val;
- }
- return value;
- }
- }
- }
- },
-
- removeAttr: function( elem, value ) {
- var name, propName,
- i = 0,
- attrNames = value && value.match( rnotwhite );
-
- if ( attrNames && elem.nodeType === 1 ) {
- while ( ( name = attrNames[ i++ ] ) ) {
- propName = jQuery.propFix[ name ] || name;
-
- // Boolean attributes get special treatment (#10870)
- if ( jQuery.expr.match.bool.test( name ) ) {
-
- // Set corresponding property to false
- if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {
- elem[ propName ] = false;
-
- // Support: IE<9
- // Also clear defaultChecked/defaultSelected (if appropriate)
- } else {
- elem[ jQuery.camelCase( "default-" + name ) ] =
- elem[ propName ] = false;
- }
-
- // See #9699 for explanation of this approach (setting first, then removal)
- } else {
- jQuery.attr( elem, name, "" );
- }
-
- elem.removeAttribute( getSetAttribute ? name : propName );
- }
- }
- }
-} );
-
-// Hooks for boolean attributes
-boolHook = {
- set: function( elem, value, name ) {
- if ( value === false ) {
-
- // Remove boolean attributes when set to false
- jQuery.removeAttr( elem, name );
- } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {
-
- // IE<8 needs the *property* name
- elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name );
-
- } else {
-
- // Support: IE<9
- // Use defaultChecked and defaultSelected for oldIE
- elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true;
- }
- return name;
- }
-};
-
-jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
- var getter = attrHandle[ name ] || jQuery.find.attr;
-
- if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {
- attrHandle[ name ] = function( elem, name, isXML ) {
- var ret, handle;
- if ( !isXML ) {
-
- // Avoid an infinite loop by temporarily removing this function from the getter
- handle = attrHandle[ name ];
- attrHandle[ name ] = ret;
- ret = getter( elem, name, isXML ) != null ?
- name.toLowerCase() :
- null;
- attrHandle[ name ] = handle;
- }
- return ret;
- };
- } else {
- attrHandle[ name ] = function( elem, name, isXML ) {
- if ( !isXML ) {
- return elem[ jQuery.camelCase( "default-" + name ) ] ?
- name.toLowerCase() :
- null;
- }
- };
- }
-} );
-
-// fix oldIE attroperties
-if ( !getSetInput || !getSetAttribute ) {
- jQuery.attrHooks.value = {
- set: function( elem, value, name ) {
- if ( jQuery.nodeName( elem, "input" ) ) {
-
- // Does not return so that setAttribute is also used
- elem.defaultValue = value;
- } else {
-
- // Use nodeHook if defined (#1954); otherwise setAttribute is fine
- return nodeHook && nodeHook.set( elem, value, name );
- }
- }
- };
-}
-
-// IE6/7 do not support getting/setting some attributes with get/setAttribute
-if ( !getSetAttribute ) {
-
- // Use this for any attribute in IE6/7
- // This fixes almost every IE6/7 issue
- nodeHook = {
- set: function( elem, value, name ) {
-
- // Set the existing or create a new attribute node
- var ret = elem.getAttributeNode( name );
- if ( !ret ) {
- elem.setAttributeNode(
- ( ret = elem.ownerDocument.createAttribute( name ) )
- );
- }
-
- ret.value = value += "";
-
- // Break association with cloned elements by also using setAttribute (#9646)
- if ( name === "value" || value === elem.getAttribute( name ) ) {
- return value;
- }
- }
- };
-
- // Some attributes are constructed with empty-string values when not defined
- attrHandle.id = attrHandle.name = attrHandle.coords =
- function( elem, name, isXML ) {
- var ret;
- if ( !isXML ) {
- return ( ret = elem.getAttributeNode( name ) ) && ret.value !== "" ?
- ret.value :
- null;
- }
- };
-
- // Fixing value retrieval on a button requires this module
- jQuery.valHooks.button = {
- get: function( elem, name ) {
- var ret = elem.getAttributeNode( name );
- if ( ret && ret.specified ) {
- return ret.value;
- }
- },
- set: nodeHook.set
- };
-
- // Set contenteditable to false on removals(#10429)
- // Setting to empty string throws an error as an invalid value
- jQuery.attrHooks.contenteditable = {
- set: function( elem, value, name ) {
- nodeHook.set( elem, value === "" ? false : value, name );
- }
- };
-
- // Set width and height to auto instead of 0 on empty string( Bug #8150 )
- // This is for removals
- jQuery.each( [ "width", "height" ], function( i, name ) {
- jQuery.attrHooks[ name ] = {
- set: function( elem, value ) {
- if ( value === "" ) {
- elem.setAttribute( name, "auto" );
- return value;
- }
- }
- };
- } );
-}
-
-if ( !support.style ) {
- jQuery.attrHooks.style = {
- get: function( elem ) {
-
- // Return undefined in the case of empty string
- // Note: IE uppercases css property names, but if we were to .toLowerCase()
- // .cssText, that would destroy case sensitivity in URL's, like in "background"
- return elem.style.cssText || undefined;
- },
- set: function( elem, value ) {
- return ( elem.style.cssText = value + "" );
- }
- };
-}
-
-
-
-
-var rfocusable = /^(?:input|select|textarea|button|object)$/i,
- rclickable = /^(?:a|area)$/i;
-
-jQuery.fn.extend( {
- prop: function( name, value ) {
- return access( this, jQuery.prop, name, value, arguments.length > 1 );
- },
-
- removeProp: function( name ) {
- name = jQuery.propFix[ name ] || name;
- return this.each( function() {
-
- // try/catch handles cases where IE balks (such as removing a property on window)
- try {
- this[ name ] = undefined;
- delete this[ name ];
- } catch ( e ) {}
- } );
- }
-} );
-
-jQuery.extend( {
- prop: function( elem, name, value ) {
- var ret, hooks,
- nType = elem.nodeType;
-
- // Don't get/set properties on text, comment and attribute nodes
- if ( nType === 3 || nType === 8 || nType === 2 ) {
- return;
- }
-
- if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
-
- // Fix name and attach hooks
- name = jQuery.propFix[ name ] || name;
- hooks = jQuery.propHooks[ name ];
- }
-
- if ( value !== undefined ) {
- if ( hooks && "set" in hooks &&
- ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
- return ret;
- }
-
- return ( elem[ name ] = value );
- }
-
- if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
- return ret;
- }
-
- return elem[ name ];
- },
-
- propHooks: {
- tabIndex: {
- get: function( elem ) {
-
- // elem.tabIndex doesn't always return the
- // correct value when it hasn't been explicitly set
- // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
- // Use proper attribute retrieval(#12072)
- var tabindex = jQuery.find.attr( elem, "tabindex" );
-
- return tabindex ?
- parseInt( tabindex, 10 ) :
- rfocusable.test( elem.nodeName ) ||
- rclickable.test( elem.nodeName ) && elem.href ?
- 0 :
- -1;
- }
- }
- },
-
- propFix: {
- "for": "htmlFor",
- "class": "className"
- }
-} );
-
-// Some attributes require a special call on IE
-// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
-if ( !support.hrefNormalized ) {
-
- // href/src property should get the full normalized URL (#10299/#12915)
- jQuery.each( [ "href", "src" ], function( i, name ) {
- jQuery.propHooks[ name ] = {
- get: function( elem ) {
- return elem.getAttribute( name, 4 );
- }
- };
- } );
-}
-
-// Support: Safari, IE9+
-// Accessing the selectedIndex property
-// forces the browser to respect setting selected
-// on the option
-// The getter ensures a default option is selected
-// when in an optgroup
-if ( !support.optSelected ) {
- jQuery.propHooks.selected = {
- get: function( elem ) {
- var parent = elem.parentNode;
-
- if ( parent ) {
- parent.selectedIndex;
-
- // Make sure that it also works with optgroups, see #5701
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- }
- return null;
- },
- set: function( elem ) {
- var parent = elem.parentNode;
- if ( parent ) {
- parent.selectedIndex;
-
- if ( parent.parentNode ) {
- parent.parentNode.selectedIndex;
- }
- }
- }
- };
-}
-
-jQuery.each( [
- "tabIndex",
- "readOnly",
- "maxLength",
- "cellSpacing",
- "cellPadding",
- "rowSpan",
- "colSpan",
- "useMap",
- "frameBorder",
- "contentEditable"
-], function() {
- jQuery.propFix[ this.toLowerCase() ] = this;
-} );
-
-// IE6/7 call enctype encoding
-if ( !support.enctype ) {
- jQuery.propFix.enctype = "encoding";
-}
-
-
-
-
-var rclass = /[\t\r\n\f]/g;
-
-function getClass( elem ) {
- return jQuery.attr( elem, "class" ) || "";
-}
-
-jQuery.fn.extend( {
- addClass: function( value ) {
- var classes, elem, cur, curValue, clazz, j, finalValue,
- i = 0;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each( function( j ) {
- jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
- } );
- }
-
- if ( typeof value === "string" && value ) {
- classes = value.match( rnotwhite ) || [];
-
- while ( ( elem = this[ i++ ] ) ) {
- curValue = getClass( elem );
- cur = elem.nodeType === 1 &&
- ( " " + curValue + " " ).replace( rclass, " " );
-
- if ( cur ) {
- j = 0;
- while ( ( clazz = classes[ j++ ] ) ) {
- if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
- cur += clazz + " ";
- }
- }
-
- // only assign if different to avoid unneeded rendering.
- finalValue = jQuery.trim( cur );
- if ( curValue !== finalValue ) {
- jQuery.attr( elem, "class", finalValue );
- }
- }
- }
- }
-
- return this;
- },
-
- removeClass: function( value ) {
- var classes, elem, cur, curValue, clazz, j, finalValue,
- i = 0;
-
- if ( jQuery.isFunction( value ) ) {
- return this.each( function( j ) {
- jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
- } );
- }
-
- if ( !arguments.length ) {
- return this.attr( "class", "" );
- }
-
- if ( typeof value === "string" && value ) {
- classes = value.match( rnotwhite ) || [];
-
- while ( ( elem = this[ i++ ] ) ) {
- curValue = getClass( elem );
-
- // This expression is here for better compressibility (see addClass)
- cur = elem.nodeType === 1 &&
- ( " " + curValue + " " ).replace( rclass, " " );
-
- if ( cur ) {
- j = 0;
- while ( ( clazz = classes[ j++ ] ) ) {
-
- // Remove *all* instances
- while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
- cur = cur.replace( " " + clazz + " ", " " );
- }
- }
-
- // Only assign if different to avoid unneeded rendering.
- finalValue = jQuery.trim( cur );
- if ( curValue !== finalValue ) {
- jQuery.attr( elem, "class", finalValue );
- }
- }
- }
- }
-
- return this;
- },
-
- toggleClass: function( value, stateVal ) {
- var type = typeof value;
-
- if ( typeof stateVal === "boolean" && type === "string" ) {
- return stateVal ? this.addClass( value ) : this.removeClass( value );
- }
-
- if ( jQuery.isFunction( value ) ) {
- return this.each( function( i ) {
- jQuery( this ).toggleClass(
- value.call( this, i, getClass( this ), stateVal ),
- stateVal
- );
- } );
- }
-
- return this.each( function() {
- var className, i, self, classNames;
-
- if ( type === "string" ) {
-
- // Toggle individual class names
- i = 0;
- self = jQuery( this );
- classNames = value.match( rnotwhite ) || [];
-
- while ( ( className = classNames[ i++ ] ) ) {
-
- // Check each className given, space separated list
- if ( self.hasClass( className ) ) {
- self.removeClass( className );
- } else {
- self.addClass( className );
- }
- }
-
- // Toggle whole class name
- } else if ( value === undefined || type === "boolean" ) {
- className = getClass( this );
- if ( className ) {
-
- // store className if set
- jQuery._data( this, "__className__", className );
- }
-
- // If the element has a class name or if we're passed "false",
- // then remove the whole classname (if there was one, the above saved it).
- // Otherwise bring back whatever was previously saved (if anything),
- // falling back to the empty string if nothing was stored.
- jQuery.attr( this, "class",
- className || value === false ?
- "" :
- jQuery._data( this, "__className__" ) || ""
- );
- }
- } );
- },
-
- hasClass: function( selector ) {
- var className, elem,
- i = 0;
-
- className = " " + selector + " ";
- while ( ( elem = this[ i++ ] ) ) {
- if ( elem.nodeType === 1 &&
- ( " " + getClass( elem ) + " " ).replace( rclass, " " )
- .indexOf( className ) > -1
- ) {
- return true;
- }
- }
-
- return false;
- }
-} );
-
-
-
-
-// Return jQuery for attributes-only inclusion
-
-
-jQuery.each( ( "blur focus focusin focusout load resize scroll unload click dblclick " +
- "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
- "change select submit keydown keypress keyup error contextmenu" ).split( " " ),
- function( i, name ) {
-
- // Handle event binding
- jQuery.fn[ name ] = function( data, fn ) {
- return arguments.length > 0 ?
- this.on( name, null, data, fn ) :
- this.trigger( name );
- };
-} );
-
-jQuery.fn.extend( {
- hover: function( fnOver, fnOut ) {
- return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
- }
-} );
-
-
-var location = window.location;
-
-var nonce = jQuery.now();
-
-var rquery = ( /\?/ );
-
-
-
-var rvalidtokens = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;
-
-jQuery.parseJSON = function( data ) {
-
- // Attempt to parse using the native JSON parser first
- if ( window.JSON && window.JSON.parse ) {
-
- // Support: Android 2.3
- // Workaround failure to string-cast null input
- return window.JSON.parse( data + "" );
- }
-
- var requireNonComma,
- depth = null,
- str = jQuery.trim( data + "" );
-
- // Guard against invalid (and possibly dangerous) input by ensuring that nothing remains
- // after removing valid tokens
- return str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) {
-
- // Force termination if we see a misplaced comma
- if ( requireNonComma && comma ) {
- depth = 0;
- }
-
- // Perform no more replacements after returning to outermost depth
- if ( depth === 0 ) {
- return token;
- }
-
- // Commas must not follow "[", "{", or ","
- requireNonComma = open || comma;
-
- // Determine new depth
- // array/object open ("[" or "{"): depth += true - false (increment)
- // array/object close ("]" or "}"): depth += false - true (decrement)
- // other cases ("," or primitive): depth += true - true (numeric cast)
- depth += !close - !open;
-
- // Remove this token
- return "";
- } ) ) ?
- ( Function( "return " + str ) )() :
- jQuery.error( "Invalid JSON: " + data );
-};
-
-
-// Cross-browser xml parsing
-jQuery.parseXML = function( data ) {
- var xml, tmp;
- if ( !data || typeof data !== "string" ) {
- return null;
- }
- try {
- if ( window.DOMParser ) { // Standard
- tmp = new window.DOMParser();
- xml = tmp.parseFromString( data, "text/xml" );
- } else { // IE
- xml = new window.ActiveXObject( "Microsoft.XMLDOM" );
- xml.async = "false";
- xml.loadXML( data );
- }
- } catch ( e ) {
- xml = undefined;
- }
- if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
- jQuery.error( "Invalid XML: " + data );
- }
- return xml;
-};
-
-
-var
- rhash = /#.*$/,
- rts = /([?&])_=[^&]*/,
-
- // IE leaves an \r character at EOL
- rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg,
-
- // #7653, #8125, #8152: local protocol detection
- rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
- rnoContent = /^(?:GET|HEAD)$/,
- rprotocol = /^\/\//,
- rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
-
- /* Prefilters
- * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
- * 2) These are called:
- * - BEFORE asking for a transport
- * - AFTER param serialization (s.data is a string if s.processData is true)
- * 3) key is the dataType
- * 4) the catchall symbol "*" can be used
- * 5) execution will start with transport dataType and THEN continue down to "*" if needed
- */
- prefilters = {},
-
- /* Transports bindings
- * 1) key is the dataType
- * 2) the catchall symbol "*" can be used
- * 3) selection will start with transport dataType and THEN go to "*" if needed
- */
- transports = {},
-
- // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
- allTypes = "*/".concat( "*" ),
-
- // Document location
- ajaxLocation = location.href,
-
- // Segment location into parts
- ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
-
-// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
-function addToPrefiltersOrTransports( structure ) {
-
- // dataTypeExpression is optional and defaults to "*"
- return function( dataTypeExpression, func ) {
-
- if ( typeof dataTypeExpression !== "string" ) {
- func = dataTypeExpression;
- dataTypeExpression = "*";
- }
-
- var dataType,
- i = 0,
- dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
-
- if ( jQuery.isFunction( func ) ) {
-
- // For each dataType in the dataTypeExpression
- while ( ( dataType = dataTypes[ i++ ] ) ) {
-
- // Prepend if requested
- if ( dataType.charAt( 0 ) === "+" ) {
- dataType = dataType.slice( 1 ) || "*";
- ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
-
- // Otherwise append
- } else {
- ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
- }
- }
- }
- };
-}
-
-// Base inspection function for prefilters and transports
-function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
-
- var inspected = {},
- seekingTransport = ( structure === transports );
-
- function inspect( dataType ) {
- var selected;
- inspected[ dataType ] = true;
- jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
- var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
- if ( typeof dataTypeOrTransport === "string" &&
- !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
-
- options.dataTypes.unshift( dataTypeOrTransport );
- inspect( dataTypeOrTransport );
- return false;
- } else if ( seekingTransport ) {
- return !( selected = dataTypeOrTransport );
- }
- } );
- return selected;
- }
-
- return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
-}
-
-// A special extend for ajax options
-// that takes "flat" options (not to be deep extended)
-// Fixes #9887
-function ajaxExtend( target, src ) {
- var deep, key,
- flatOptions = jQuery.ajaxSettings.flatOptions || {};
-
- for ( key in src ) {
- if ( src[ key ] !== undefined ) {
- ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
- }
- }
- if ( deep ) {
- jQuery.extend( true, target, deep );
- }
-
- return target;
-}
-
-/* Handles responses to an ajax request:
- * - finds the right dataType (mediates between content-type and expected dataType)
- * - returns the corresponding response
- */
-function ajaxHandleResponses( s, jqXHR, responses ) {
- var firstDataType, ct, finalDataType, type,
- contents = s.contents,
- dataTypes = s.dataTypes;
-
- // Remove auto dataType and get content-type in the process
- while ( dataTypes[ 0 ] === "*" ) {
- dataTypes.shift();
- if ( ct === undefined ) {
- ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
- }
- }
-
- // Check if we're dealing with a known content-type
- if ( ct ) {
- for ( type in contents ) {
- if ( contents[ type ] && contents[ type ].test( ct ) ) {
- dataTypes.unshift( type );
- break;
- }
- }
- }
-
- // Check to see if we have a response for the expected dataType
- if ( dataTypes[ 0 ] in responses ) {
- finalDataType = dataTypes[ 0 ];
- } else {
-
- // Try convertible dataTypes
- for ( type in responses ) {
- if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
- finalDataType = type;
- break;
- }
- if ( !firstDataType ) {
- firstDataType = type;
- }
- }
-
- // Or just use first one
- finalDataType = finalDataType || firstDataType;
- }
-
- // If we found a dataType
- // We add the dataType to the list if needed
- // and return the corresponding response
- if ( finalDataType ) {
- if ( finalDataType !== dataTypes[ 0 ] ) {
- dataTypes.unshift( finalDataType );
- }
- return responses[ finalDataType ];
- }
-}
-
-/* Chain conversions given the request and the original response
- * Also sets the responseXXX fields on the jqXHR instance
- */
-function ajaxConvert( s, response, jqXHR, isSuccess ) {
- var conv2, current, conv, tmp, prev,
- converters = {},
-
- // Work with a copy of dataTypes in case we need to modify it for conversion
- dataTypes = s.dataTypes.slice();
-
- // Create converters map with lowercased keys
- if ( dataTypes[ 1 ] ) {
- for ( conv in s.converters ) {
- converters[ conv.toLowerCase() ] = s.converters[ conv ];
- }
- }
-
- current = dataTypes.shift();
-
- // Convert to each sequential dataType
- while ( current ) {
-
- if ( s.responseFields[ current ] ) {
- jqXHR[ s.responseFields[ current ] ] = response;
- }
-
- // Apply the dataFilter if provided
- if ( !prev && isSuccess && s.dataFilter ) {
- response = s.dataFilter( response, s.dataType );
- }
-
- prev = current;
- current = dataTypes.shift();
-
- if ( current ) {
-
- // There's only work to do if current dataType is non-auto
- if ( current === "*" ) {
-
- current = prev;
-
- // Convert response if prev dataType is non-auto and differs from current
- } else if ( prev !== "*" && prev !== current ) {
-
- // Seek a direct converter
- conv = converters[ prev + " " + current ] || converters[ "* " + current ];
-
- // If none found, seek a pair
- if ( !conv ) {
- for ( conv2 in converters ) {
-
- // If conv2 outputs current
- tmp = conv2.split( " " );
- if ( tmp[ 1 ] === current ) {
-
- // If prev can be converted to accepted input
- conv = converters[ prev + " " + tmp[ 0 ] ] ||
- converters[ "* " + tmp[ 0 ] ];
- if ( conv ) {
-
- // Condense equivalence converters
- if ( conv === true ) {
- conv = converters[ conv2 ];
-
- // Otherwise, insert the intermediate dataType
- } else if ( converters[ conv2 ] !== true ) {
- current = tmp[ 0 ];
- dataTypes.unshift( tmp[ 1 ] );
- }
- break;
- }
- }
- }
- }
-
- // Apply converter (if not an equivalence)
- if ( conv !== true ) {
-
- // Unless errors are allowed to bubble, catch and return them
- if ( conv && s[ "throws" ] ) { // jscs:ignore requireDotNotation
- response = conv( response );
- } else {
- try {
- response = conv( response );
- } catch ( e ) {
- return {
- state: "parsererror",
- error: conv ? e : "No conversion from " + prev + " to " + current
- };
- }
- }
- }
- }
- }
- }
-
- return { state: "success", data: response };
-}
-
-jQuery.extend( {
-
- // Counter for holding the number of active queries
- active: 0,
-
- // Last-Modified header cache for next request
- lastModified: {},
- etag: {},
-
- ajaxSettings: {
- url: ajaxLocation,
- type: "GET",
- isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
- global: true,
- processData: true,
- async: true,
- contentType: "application/x-www-form-urlencoded; charset=UTF-8",
- /*
- timeout: 0,
- data: null,
- dataType: null,
- username: null,
- password: null,
- cache: null,
- throws: false,
- traditional: false,
- headers: {},
- */
-
- accepts: {
- "*": allTypes,
- 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"
- },
-
- // Data converters
- // Keys separate source (or catchall "*") and destination types with a single space
- converters: {
-
- // Convert anything to text
- "* text": String,
-
- // Text to html (true = no transformation)
- "text html": true,
-
- // Evaluate text as a json expression
- "text json": jQuery.parseJSON,
-
- // Parse text as xml
- "text xml": jQuery.parseXML
- },
-
- // For options that shouldn't be deep extended:
- // you can add your own custom options here if
- // and when you create one that shouldn't be
- // deep extended (see ajaxExtend)
- flatOptions: {
- url: true,
- context: true
- }
- },
-
- // Creates a full fledged settings object into target
- // with both ajaxSettings and settings fields.
- // If target is omitted, writes into ajaxSettings.
- ajaxSetup: function( target, settings ) {
- return settings ?
-
- // Building a settings object
- ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
-
- // Extending ajaxSettings
- ajaxExtend( jQuery.ajaxSettings, target );
- },
-
- ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
- ajaxTransport: addToPrefiltersOrTransports( transports ),
-
- // Main method
- ajax: function( url, options ) {
-
- // If url is an object, simulate pre-1.5 signature
- if ( typeof url === "object" ) {
- options = url;
- url = undefined;
- }
-
- // Force options to be an object
- options = options || {};
-
- var
-
- // Cross-domain detection vars
- parts,
-
- // Loop variable
- i,
-
- // URL without anti-cache param
- cacheURL,
-
- // Response headers as string
- responseHeadersString,
-
- // timeout handle
- timeoutTimer,
-
- // To know if global events are to be dispatched
- fireGlobals,
-
- transport,
-
- // Response headers
- responseHeaders,
-
- // Create the final options object
- s = jQuery.ajaxSetup( {}, options ),
-
- // Callbacks context
- callbackContext = s.context || s,
-
- // Context for global events is callbackContext if it is a DOM node or jQuery collection
- globalEventContext = s.context &&
- ( callbackContext.nodeType || callbackContext.jquery ) ?
- jQuery( callbackContext ) :
- jQuery.event,
-
- // Deferreds
- deferred = jQuery.Deferred(),
- completeDeferred = jQuery.Callbacks( "once memory" ),
-
- // Status-dependent callbacks
- statusCode = s.statusCode || {},
-
- // Headers (they are sent all at once)
- requestHeaders = {},
- requestHeadersNames = {},
-
- // The jqXHR state
- state = 0,
-
- // Default abort message
- strAbort = "canceled",
-
- // Fake xhr
- jqXHR = {
- readyState: 0,
-
- // Builds headers hashtable if needed
- getResponseHeader: function( key ) {
- var match;
- if ( state === 2 ) {
- if ( !responseHeaders ) {
- responseHeaders = {};
- while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
- responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
- }
- }
- match = responseHeaders[ key.toLowerCase() ];
- }
- return match == null ? null : match;
- },
-
- // Raw string
- getAllResponseHeaders: function() {
- return state === 2 ? responseHeadersString : null;
- },
-
- // Caches the header
- setRequestHeader: function( name, value ) {
- var lname = name.toLowerCase();
- if ( !state ) {
- name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
- requestHeaders[ name ] = value;
- }
- return this;
- },
-
- // Overrides response content-type header
- overrideMimeType: function( type ) {
- if ( !state ) {
- s.mimeType = type;
- }
- return this;
- },
-
- // Status-dependent callbacks
- statusCode: function( map ) {
- var code;
- if ( map ) {
- if ( state < 2 ) {
- for ( code in map ) {
-
- // Lazy-add the new callback in a way that preserves old ones
- statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
- }
- } else {
-
- // Execute the appropriate callbacks
- jqXHR.always( map[ jqXHR.status ] );
- }
- }
- return this;
- },
-
- // Cancel the request
- abort: function( statusText ) {
- var finalText = statusText || strAbort;
- if ( transport ) {
- transport.abort( finalText );
- }
- done( 0, finalText );
- return this;
- }
- };
-
- // Attach deferreds
- deferred.promise( jqXHR ).complete = completeDeferred.add;
- jqXHR.success = jqXHR.done;
- jqXHR.error = jqXHR.fail;
-
- // Remove hash character (#7531: and string promotion)
- // Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
- // Handle falsy url in the settings object (#10093: consistency with old signature)
- // We also use the url parameter if available
- s.url = ( ( url || s.url || ajaxLocation ) + "" )
- .replace( rhash, "" )
- .replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
-
- // Alias method option to type as per ticket #12004
- s.type = options.method || options.type || s.method || s.type;
-
- // Extract dataTypes list
- s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
-
- // A cross-domain request is in order when we have a protocol:host:port mismatch
- if ( s.crossDomain == null ) {
- parts = rurl.exec( s.url.toLowerCase() );
- s.crossDomain = !!( parts &&
- ( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
- ( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
- ( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
- );
- }
-
- // Convert data if not already a string
- if ( s.data && s.processData && typeof s.data !== "string" ) {
- s.data = jQuery.param( s.data, s.traditional );
- }
-
- // Apply prefilters
- inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
-
- // If request was aborted inside a prefilter, stop there
- if ( state === 2 ) {
- return jqXHR;
- }
-
- // We can fire global events as of now if asked to
- // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
- fireGlobals = jQuery.event && s.global;
-
- // Watch for a new set of requests
- if ( fireGlobals && jQuery.active++ === 0 ) {
- jQuery.event.trigger( "ajaxStart" );
- }
-
- // Uppercase the type
- s.type = s.type.toUpperCase();
-
- // Determine if request has content
- s.hasContent = !rnoContent.test( s.type );
-
- // Save the URL in case we're toying with the If-Modified-Since
- // and/or If-None-Match header later on
- cacheURL = s.url;
-
- // More options handling for requests with no content
- if ( !s.hasContent ) {
-
- // If data is available, append data to url
- if ( s.data ) {
- cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data );
-
- // #9682: remove data so that it's not used in an eventual retry
- delete s.data;
- }
-
- // Add anti-cache in url if needed
- if ( s.cache === false ) {
- s.url = rts.test( cacheURL ) ?
-
- // If there is already a '_' parameter, set its value
- cacheURL.replace( rts, "$1_=" + nonce++ ) :
-
- // Otherwise add one to the end
- cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++;
- }
- }
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
- if ( jQuery.lastModified[ cacheURL ] ) {
- jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
- }
- if ( jQuery.etag[ cacheURL ] ) {
- jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
- }
- }
-
- // Set the correct header, if data is being sent
- if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
- jqXHR.setRequestHeader( "Content-Type", s.contentType );
- }
-
- // Set the Accepts header for the server, depending on the dataType
- jqXHR.setRequestHeader(
- "Accept",
- s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
- s.accepts[ s.dataTypes[ 0 ] ] +
- ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
- s.accepts[ "*" ]
- );
-
- // Check for headers option
- for ( i in s.headers ) {
- jqXHR.setRequestHeader( i, s.headers[ i ] );
- }
-
- // Allow custom headers/mimetypes and early abort
- if ( s.beforeSend &&
- ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
-
- // Abort if not done already and return
- return jqXHR.abort();
- }
-
- // aborting is no longer a cancellation
- strAbort = "abort";
-
- // Install callbacks on deferreds
- for ( i in { success: 1, error: 1, complete: 1 } ) {
- jqXHR[ i ]( s[ i ] );
- }
-
- // Get transport
- transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
-
- // If no transport, we auto-abort
- if ( !transport ) {
- done( -1, "No Transport" );
- } else {
- jqXHR.readyState = 1;
-
- // Send global event
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
- }
-
- // If request was aborted inside ajaxSend, stop there
- if ( state === 2 ) {
- return jqXHR;
- }
-
- // Timeout
- if ( s.async && s.timeout > 0 ) {
- timeoutTimer = window.setTimeout( function() {
- jqXHR.abort( "timeout" );
- }, s.timeout );
- }
-
- try {
- state = 1;
- transport.send( requestHeaders, done );
- } catch ( e ) {
-
- // Propagate exception as error if not done
- if ( state < 2 ) {
- done( -1, e );
-
- // Simply rethrow otherwise
- } else {
- throw e;
- }
- }
- }
-
- // Callback for when everything is done
- function done( status, nativeStatusText, responses, headers ) {
- var isSuccess, success, error, response, modified,
- statusText = nativeStatusText;
-
- // Called once
- if ( state === 2 ) {
- return;
- }
-
- // State is "done" now
- state = 2;
-
- // Clear timeout if it exists
- if ( timeoutTimer ) {
- window.clearTimeout( timeoutTimer );
- }
-
- // Dereference transport for early garbage collection
- // (no matter how long the jqXHR object will be used)
- transport = undefined;
-
- // Cache response headers
- responseHeadersString = headers || "";
-
- // Set readyState
- jqXHR.readyState = status > 0 ? 4 : 0;
-
- // Determine if successful
- isSuccess = status >= 200 && status < 300 || status === 304;
-
- // Get response data
- if ( responses ) {
- response = ajaxHandleResponses( s, jqXHR, responses );
- }
-
- // Convert no matter what (that way responseXXX fields are always set)
- response = ajaxConvert( s, response, jqXHR, isSuccess );
-
- // If successful, handle type chaining
- if ( isSuccess ) {
-
- // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
- if ( s.ifModified ) {
- modified = jqXHR.getResponseHeader( "Last-Modified" );
- if ( modified ) {
- jQuery.lastModified[ cacheURL ] = modified;
- }
- modified = jqXHR.getResponseHeader( "etag" );
- if ( modified ) {
- jQuery.etag[ cacheURL ] = modified;
- }
- }
-
- // if no content
- if ( status === 204 || s.type === "HEAD" ) {
- statusText = "nocontent";
-
- // if not modified
- } else if ( status === 304 ) {
- statusText = "notmodified";
-
- // If we have data, let's convert it
- } else {
- statusText = response.state;
- success = response.data;
- error = response.error;
- isSuccess = !error;
- }
- } else {
-
- // We extract error from statusText
- // then normalize statusText and status for non-aborts
- error = statusText;
- if ( status || !statusText ) {
- statusText = "error";
- if ( status < 0 ) {
- status = 0;
- }
- }
- }
-
- // Set data for the fake xhr object
- jqXHR.status = status;
- jqXHR.statusText = ( nativeStatusText || statusText ) + "";
-
- // Success/Error
- if ( isSuccess ) {
- deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
- } else {
- deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
- }
-
- // Status-dependent callbacks
- jqXHR.statusCode( statusCode );
- statusCode = undefined;
-
- if ( fireGlobals ) {
- globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
- [ jqXHR, s, isSuccess ? success : error ] );
- }
-
- // Complete
- completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
-
- if ( fireGlobals ) {
- globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
-
- // Handle the global AJAX counter
- if ( !( --jQuery.active ) ) {
- jQuery.event.trigger( "ajaxStop" );
- }
- }
- }
-
- return jqXHR;
- },
-
- getJSON: function( url, data, callback ) {
- return jQuery.get( url, data, callback, "json" );
- },
-
- getScript: function( url, callback ) {
- return jQuery.get( url, undefined, callback, "script" );
- }
-} );
-
-jQuery.each( [ "get", "post" ], function( i, method ) {
- jQuery[ method ] = function( url, data, callback, type ) {
-
- // shift arguments if data argument was omitted
- if ( jQuery.isFunction( data ) ) {
- type = type || callback;
- callback = data;
- data = undefined;
- }
-
- // The url can be an options object (which then must have .url)
- return jQuery.ajax( jQuery.extend( {
- url: url,
- type: method,
- dataType: type,
- data: data,
- success: callback
- }, jQuery.isPlainObject( url ) && url ) );
- };
-} );
-
-
-jQuery._evalUrl = function( url ) {
- return jQuery.ajax( {
- url: url,
-
- // Make this explicit, since user can override this through ajaxSetup (#11264)
- type: "GET",
- dataType: "script",
- cache: true,
- async: false,
- global: false,
- "throws": true
- } );
-};
-
-
-jQuery.fn.extend( {
- wrapAll: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each( function( i ) {
- jQuery( this ).wrapAll( html.call( this, i ) );
- } );
- }
-
- if ( this[ 0 ] ) {
-
- // The elements to wrap the target around
- var wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
-
- if ( this[ 0 ].parentNode ) {
- wrap.insertBefore( this[ 0 ] );
- }
-
- wrap.map( function() {
- var elem = this;
-
- while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
- elem = elem.firstChild;
- }
-
- return elem;
- } ).append( this );
- }
-
- return this;
- },
-
- wrapInner: function( html ) {
- if ( jQuery.isFunction( html ) ) {
- return this.each( function( i ) {
- jQuery( this ).wrapInner( html.call( this, i ) );
- } );
- }
-
- return this.each( function() {
- var self = jQuery( this ),
- contents = self.contents();
-
- if ( contents.length ) {
- contents.wrapAll( html );
-
- } else {
- self.append( html );
- }
- } );
- },
-
- wrap: function( html ) {
- var isFunction = jQuery.isFunction( html );
-
- return this.each( function( i ) {
- jQuery( this ).wrapAll( isFunction ? html.call( this, i ) : html );
- } );
- },
-
- unwrap: function() {
- return this.parent().each( function() {
- if ( !jQuery.nodeName( this, "body" ) ) {
- jQuery( this ).replaceWith( this.childNodes );
- }
- } ).end();
- }
-} );
-
-
-function getDisplay( elem ) {
- return elem.style && elem.style.display || jQuery.css( elem, "display" );
-}
-
-function filterHidden( elem ) {
-
- // Disconnected elements are considered hidden
- if ( !jQuery.contains( elem.ownerDocument || document, elem ) ) {
- return true;
- }
- while ( elem && elem.nodeType === 1 ) {
- if ( getDisplay( elem ) === "none" || elem.type === "hidden" ) {
- return true;
- }
- elem = elem.parentNode;
- }
- return false;
-}
-
-jQuery.expr.filters.hidden = function( elem ) {
-
- // Support: Opera <= 12.12
- // Opera reports offsetWidths and offsetHeights less than zero on some elements
- return support.reliableHiddenOffsets() ?
- ( elem.offsetWidth <= 0 && elem.offsetHeight <= 0 &&
- !elem.getClientRects().length ) :
- filterHidden( elem );
-};
-
-jQuery.expr.filters.visible = function( elem ) {
- return !jQuery.expr.filters.hidden( elem );
-};
-
-
-
-
-var r20 = /%20/g,
- rbracket = /\[\]$/,
- rCRLF = /\r?\n/g,
- rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
- rsubmittable = /^(?:input|select|textarea|keygen)/i;
-
-function buildParams( prefix, obj, traditional, add ) {
- var name;
-
- if ( jQuery.isArray( obj ) ) {
-
- // Serialize array item.
- jQuery.each( obj, function( i, v ) {
- if ( traditional || rbracket.test( prefix ) ) {
-
- // Treat each array item as a scalar.
- add( prefix, v );
-
- } else {
-
- // Item is non-scalar (array or object), encode its numeric index.
- buildParams(
- prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
- v,
- traditional,
- add
- );
- }
- } );
-
- } else if ( !traditional && jQuery.type( obj ) === "object" ) {
-
- // Serialize object item.
- for ( name in obj ) {
- buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
- }
-
- } else {
-
- // Serialize scalar item.
- add( prefix, obj );
- }
-}
-
-// Serialize an array of form elements or a set of
-// key/values into a query string
-jQuery.param = function( a, traditional ) {
- var prefix,
- s = [],
- add = function( key, value ) {
-
- // If value is a function, invoke it and return its value
- value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
- s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
- };
-
- // Set traditional to true for jQuery <= 1.3.2 behavior.
- if ( traditional === undefined ) {
- traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
- }
-
- // If an array was passed in, assume that it is an array of form elements.
- if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
-
- // Serialize the form elements
- jQuery.each( a, function() {
- add( this.name, this.value );
- } );
-
- } else {
-
- // If traditional, encode the "old" way (the way 1.3.2 or older
- // did it), otherwise encode params recursively.
- for ( prefix in a ) {
- buildParams( prefix, a[ prefix ], traditional, add );
- }
- }
-
- // Return the resulting serialization
- return s.join( "&" ).replace( r20, "+" );
-};
-
-jQuery.fn.extend( {
- serialize: function() {
- return jQuery.param( this.serializeArray() );
- },
- serializeArray: function() {
- return this.map( function() {
-
- // Can add propHook for "elements" to filter or add form elements
- var elements = jQuery.prop( this, "elements" );
- return elements ? jQuery.makeArray( elements ) : this;
- } )
- .filter( function() {
- var type = this.type;
-
- // Use .is(":disabled") so that fieldset[disabled] works
- return this.name && !jQuery( this ).is( ":disabled" ) &&
- rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
- ( this.checked || !rcheckableType.test( type ) );
- } )
- .map( function( i, elem ) {
- var val = jQuery( this ).val();
-
- return val == null ?
- null :
- jQuery.isArray( val ) ?
- jQuery.map( val, function( val ) {
- return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
- } ) :
- { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
- } ).get();
- }
-} );
-
-
-// Create the request object
-// (This is still attached to ajaxSettings for backward compatibility)
-jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?
-
- // Support: IE6-IE8
- function() {
-
- // XHR cannot access local files, always use ActiveX for that case
- if ( this.isLocal ) {
- return createActiveXHR();
- }
-
- // Support: IE 9-11
- // IE seems to error on cross-domain PATCH requests when ActiveX XHR
- // is used. In IE 9+ always use the native XHR.
- // Note: this condition won't catch Edge as it doesn't define
- // document.documentMode but it also doesn't support ActiveX so it won't
- // reach this code.
- if ( document.documentMode > 8 ) {
- return createStandardXHR();
- }
-
- // Support: IE<9
- // oldIE XHR does not support non-RFC2616 methods (#13240)
- // See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
- // and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
- // Although this check for six methods instead of eight
- // since IE also does not support "trace" and "connect"
- return /^(get|post|head|put|delete|options)$/i.test( this.type ) &&
- createStandardXHR() || createActiveXHR();
- } :
-
- // For all other browsers, use the standard XMLHttpRequest object
- createStandardXHR;
-
-var xhrId = 0,
- xhrCallbacks = {},
- xhrSupported = jQuery.ajaxSettings.xhr();
-
-// Support: IE<10
-// Open requests must be manually aborted on unload (#5280)
-// See https://support.microsoft.com/kb/2856746 for more info
-if ( window.attachEvent ) {
- window.attachEvent( "onunload", function() {
- for ( var key in xhrCallbacks ) {
- xhrCallbacks[ key ]( undefined, true );
- }
- } );
-}
-
-// Determine support properties
-support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
-xhrSupported = support.ajax = !!xhrSupported;
-
-// Create transport if the browser can provide an xhr
-if ( xhrSupported ) {
-
- jQuery.ajaxTransport( function( options ) {
-
- // Cross domain only allowed if supported through XMLHttpRequest
- if ( !options.crossDomain || support.cors ) {
-
- var callback;
-
- return {
- send: function( headers, complete ) {
- var i,
- xhr = options.xhr(),
- id = ++xhrId;
-
- // Open the socket
- xhr.open(
- options.type,
- options.url,
- options.async,
- options.username,
- options.password
- );
-
- // Apply custom fields if provided
- if ( options.xhrFields ) {
- for ( i in options.xhrFields ) {
- xhr[ i ] = options.xhrFields[ i ];
- }
- }
-
- // Override mime type if needed
- if ( options.mimeType && xhr.overrideMimeType ) {
- xhr.overrideMimeType( options.mimeType );
- }
-
- // X-Requested-With header
- // For cross-domain requests, seeing as conditions for a preflight are
- // akin to a jigsaw puzzle, we simply never set it to be sure.
- // (it can always be set on a per-request basis or even using ajaxSetup)
- // For same-domain requests, won't change header if already provided.
- if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
- headers[ "X-Requested-With" ] = "XMLHttpRequest";
- }
-
- // Set headers
- for ( i in headers ) {
-
- // Support: IE<9
- // IE's ActiveXObject throws a 'Type Mismatch' exception when setting
- // request header to a null-value.
- //
- // To keep consistent with other XHR implementations, cast the value
- // to string and ignore `undefined`.
- if ( headers[ i ] !== undefined ) {
- xhr.setRequestHeader( i, headers[ i ] + "" );
- }
- }
-
- // Do send the request
- // This may raise an exception which is actually
- // handled in jQuery.ajax (so no try/catch here)
- xhr.send( ( options.hasContent && options.data ) || null );
-
- // Listener
- callback = function( _, isAbort ) {
- var status, statusText, responses;
-
- // Was never called and is aborted or complete
- if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
-
- // Clean up
- delete xhrCallbacks[ id ];
- callback = undefined;
- xhr.onreadystatechange = jQuery.noop;
-
- // Abort manually if needed
- if ( isAbort ) {
- if ( xhr.readyState !== 4 ) {
- xhr.abort();
- }
- } else {
- responses = {};
- status = xhr.status;
-
- // Support: IE<10
- // Accessing binary-data responseText throws an exception
- // (#11426)
- if ( typeof xhr.responseText === "string" ) {
- responses.text = xhr.responseText;
- }
-
- // Firefox throws an exception when accessing
- // statusText for faulty cross-domain requests
- try {
- statusText = xhr.statusText;
- } catch ( e ) {
-
- // We normalize with Webkit giving an empty statusText
- statusText = "";
- }
-
- // Filter status for non standard behaviors
-
- // If the request is local and we have data: assume a success
- // (success with no data won't get notified, that's the best we
- // can do given current implementations)
- if ( !status && options.isLocal && !options.crossDomain ) {
- status = responses.text ? 200 : 404;
-
- // IE - #1450: sometimes returns 1223 when it should be 204
- } else if ( status === 1223 ) {
- status = 204;
- }
- }
- }
-
- // Call complete if needed
- if ( responses ) {
- complete( status, statusText, responses, xhr.getAllResponseHeaders() );
- }
- };
-
- // Do send the request
- // `xhr.send` may raise an exception, but it will be
- // handled in jQuery.ajax (so no try/catch here)
- if ( !options.async ) {
-
- // If we're in sync mode we fire the callback
- callback();
- } else if ( xhr.readyState === 4 ) {
-
- // (IE6 & IE7) if it's in cache and has been
- // retrieved directly we need to fire the callback
- window.setTimeout( callback );
- } else {
-
- // Register the callback, but delay it in case `xhr.send` throws
- // Add to the list of active xhr callbacks
- xhr.onreadystatechange = xhrCallbacks[ id ] = callback;
- }
- },
-
- abort: function() {
- if ( callback ) {
- callback( undefined, true );
- }
- }
- };
- }
- } );
-}
-
-// Functions to create xhrs
-function createStandardXHR() {
- try {
- return new window.XMLHttpRequest();
- } catch ( e ) {}
-}
-
-function createActiveXHR() {
- try {
- return new window.ActiveXObject( "Microsoft.XMLHTTP" );
- } catch ( e ) {}
-}
-
-
-
-
-// Install script dataType
-jQuery.ajaxSetup( {
- accepts: {
- script: "text/javascript, application/javascript, " +
- "application/ecmascript, application/x-ecmascript"
- },
- contents: {
- script: /\b(?:java|ecma)script\b/
- },
- converters: {
- "text script": function( text ) {
- jQuery.globalEval( text );
- return text;
- }
- }
-} );
-
-// Handle cache's special case and global
-jQuery.ajaxPrefilter( "script", function( s ) {
- if ( s.cache === undefined ) {
- s.cache = false;
- }
- if ( s.crossDomain ) {
- s.type = "GET";
- s.global = false;
- }
-} );
-
-// Bind script tag hack transport
-jQuery.ajaxTransport( "script", function( s ) {
-
- // This transport only deals with cross domain requests
- if ( s.crossDomain ) {
-
- var script,
- head = document.head || jQuery( "head" )[ 0 ] || document.documentElement;
-
- return {
-
- send: function( _, callback ) {
-
- script = document.createElement( "script" );
-
- script.async = true;
-
- if ( s.scriptCharset ) {
- script.charset = s.scriptCharset;
- }
-
- script.src = s.url;
-
- // Attach handlers for all browsers
- script.onload = script.onreadystatechange = function( _, isAbort ) {
-
- if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
-
- // Handle memory leak in IE
- script.onload = script.onreadystatechange = null;
-
- // Remove the script
- if ( script.parentNode ) {
- script.parentNode.removeChild( script );
- }
-
- // Dereference the script
- script = null;
-
- // Callback if not abort
- if ( !isAbort ) {
- callback( 200, "success" );
- }
- }
- };
-
- // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending
- // Use native DOM manipulation to avoid our domManip AJAX trickery
- head.insertBefore( script, head.firstChild );
- },
-
- abort: function() {
- if ( script ) {
- script.onload( undefined, true );
- }
- }
- };
- }
-} );
-
-
-
-
-var oldCallbacks = [],
- rjsonp = /(=)\?(?=&|$)|\?\?/;
-
-// Default jsonp settings
-jQuery.ajaxSetup( {
- jsonp: "callback",
- jsonpCallback: function() {
- var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
- this[ callback ] = true;
- return callback;
- }
-} );
-
-// Detect, normalize options and install callbacks for jsonp requests
-jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
-
- var callbackName, overwritten, responseContainer,
- jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
- "url" :
- typeof s.data === "string" &&
- ( s.contentType || "" )
- .indexOf( "application/x-www-form-urlencoded" ) === 0 &&
- rjsonp.test( s.data ) && "data"
- );
-
- // Handle iff the expected data type is "jsonp" or we have a parameter to set
- if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
-
- // Get callback name, remembering preexisting value associated with it
- callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
- s.jsonpCallback() :
- s.jsonpCallback;
-
- // Insert callback into url or form data
- if ( jsonProp ) {
- s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
- } else if ( s.jsonp !== false ) {
- s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
- }
-
- // Use data converter to retrieve json after script execution
- s.converters[ "script json" ] = function() {
- if ( !responseContainer ) {
- jQuery.error( callbackName + " was not called" );
- }
- return responseContainer[ 0 ];
- };
-
- // force json dataType
- s.dataTypes[ 0 ] = "json";
-
- // Install callback
- overwritten = window[ callbackName ];
- window[ callbackName ] = function() {
- responseContainer = arguments;
- };
-
- // Clean-up function (fires after converters)
- jqXHR.always( function() {
-
- // If previous value didn't exist - remove it
- if ( overwritten === undefined ) {
- jQuery( window ).removeProp( callbackName );
-
- // Otherwise restore preexisting value
- } else {
- window[ callbackName ] = overwritten;
- }
-
- // Save back as free
- if ( s[ callbackName ] ) {
-
- // make sure that re-using the options doesn't screw things around
- s.jsonpCallback = originalSettings.jsonpCallback;
-
- // save the callback name for future use
- oldCallbacks.push( callbackName );
- }
-
- // Call if it was a function and we have a response
- if ( responseContainer && jQuery.isFunction( overwritten ) ) {
- overwritten( responseContainer[ 0 ] );
- }
-
- responseContainer = overwritten = undefined;
- } );
-
- // Delegate to script
- return "script";
- }
-} );
-
-
-
-
-// data: string of html
-// context (optional): If specified, the fragment will be created in this context,
-// defaults to document
-// keepScripts (optional): If true, will include scripts passed in the html string
-jQuery.parseHTML = function( data, context, keepScripts ) {
- if ( !data || typeof data !== "string" ) {
- return null;
- }
- if ( typeof context === "boolean" ) {
- keepScripts = context;
- context = false;
- }
- context = context || document;
-
- var parsed = rsingleTag.exec( data ),
- scripts = !keepScripts && [];
-
- // Single tag
- if ( parsed ) {
- return [ context.createElement( parsed[ 1 ] ) ];
- }
-
- parsed = buildFragment( [ data ], context, scripts );
-
- if ( scripts && scripts.length ) {
- jQuery( scripts ).remove();
- }
-
- return jQuery.merge( [], parsed.childNodes );
-};
-
-
-// Keep a copy of the old load method
-var _load = jQuery.fn.load;
-
-/**
- * Load a url into a page
- */
-jQuery.fn.load = function( url, params, callback ) {
- if ( typeof url !== "string" && _load ) {
- return _load.apply( this, arguments );
- }
-
- var selector, type, response,
- self = this,
- off = url.indexOf( " " );
-
- if ( off > -1 ) {
- selector = jQuery.trim( url.slice( off, url.length ) );
- url = url.slice( 0, off );
- }
-
- // If it's a function
- if ( jQuery.isFunction( params ) ) {
-
- // We assume that it's the callback
- callback = params;
- params = undefined;
-
- // Otherwise, build a param string
- } else if ( params && typeof params === "object" ) {
- type = "POST";
- }
-
- // If we have elements to modify, make the request
- if ( self.length > 0 ) {
- jQuery.ajax( {
- url: url,
-
- // If "type" variable is undefined, then "GET" method will be used.
- // Make value of this field explicit since
- // user can override it through ajaxSetup method
- type: type || "GET",
- dataType: "html",
- data: params
- } ).done( function( responseText ) {
-
- // Save response for use in complete callback
- response = arguments;
-
- self.html( selector ?
-
- // If a selector was specified, locate the right elements in a dummy div
- // Exclude scripts to avoid IE 'Permission Denied' errors
- jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
-
- // Otherwise use the full result
- responseText );
-
- // If the request succeeds, this function gets "data", "status", "jqXHR"
- // but they are ignored because response was set above.
- // If it fails, this function gets "jqXHR", "status", "error"
- } ).always( callback && function( jqXHR, status ) {
- self.each( function() {
- callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
- } );
- } );
- }
-
- return this;
-};
-
-
-
-
-// Attach a bunch of functions for handling common AJAX events
-jQuery.each( [
- "ajaxStart",
- "ajaxStop",
- "ajaxComplete",
- "ajaxError",
- "ajaxSuccess",
- "ajaxSend"
-], function( i, type ) {
- jQuery.fn[ type ] = function( fn ) {
- return this.on( type, fn );
- };
-} );
-
-
-
-
-jQuery.expr.filters.animated = function( elem ) {
- return jQuery.grep( jQuery.timers, function( fn ) {
- return elem === fn.elem;
- } ).length;
-};
-
-
-
-
-
-/**
- * Gets a window from an element
- */
-function getWindow( elem ) {
- return jQuery.isWindow( elem ) ?
- elem :
- elem.nodeType === 9 ?
- elem.defaultView || elem.parentWindow :
- false;
-}
-
-jQuery.offset = {
- setOffset: function( elem, options, i ) {
- var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
- position = jQuery.css( elem, "position" ),
- curElem = jQuery( elem ),
- props = {};
-
- // set position first, in-case top/left are set even on static elem
- if ( position === "static" ) {
- elem.style.position = "relative";
- }
-
- curOffset = curElem.offset();
- curCSSTop = jQuery.css( elem, "top" );
- curCSSLeft = jQuery.css( elem, "left" );
- calculatePosition = ( position === "absolute" || position === "fixed" ) &&
- jQuery.inArray( "auto", [ curCSSTop, curCSSLeft ] ) > -1;
-
- // need to be able to calculate position if either top or left
- // is auto and position is either absolute or fixed
- if ( calculatePosition ) {
- curPosition = curElem.position();
- curTop = curPosition.top;
- curLeft = curPosition.left;
- } else {
- curTop = parseFloat( curCSSTop ) || 0;
- curLeft = parseFloat( curCSSLeft ) || 0;
- }
-
- if ( jQuery.isFunction( options ) ) {
-
- // Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
- options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
- }
-
- if ( options.top != null ) {
- props.top = ( options.top - curOffset.top ) + curTop;
- }
- if ( options.left != null ) {
- props.left = ( options.left - curOffset.left ) + curLeft;
- }
-
- if ( "using" in options ) {
- options.using.call( elem, props );
- } else {
- curElem.css( props );
- }
- }
-};
-
-jQuery.fn.extend( {
- offset: function( options ) {
- if ( arguments.length ) {
- return options === undefined ?
- this :
- this.each( function( i ) {
- jQuery.offset.setOffset( this, options, i );
- } );
- }
-
- var docElem, win,
- box = { top: 0, left: 0 },
- elem = this[ 0 ],
- doc = elem && elem.ownerDocument;
-
- if ( !doc ) {
- return;
- }
-
- docElem = doc.documentElement;
-
- // Make sure it's not a disconnected DOM node
- if ( !jQuery.contains( docElem, elem ) ) {
- return box;
- }
-
- // If we don't have gBCR, just use 0,0 rather than error
- // BlackBerry 5, iOS 3 (original iPhone)
- if ( typeof elem.getBoundingClientRect !== "undefined" ) {
- box = elem.getBoundingClientRect();
- }
- win = getWindow( doc );
- return {
- top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ),
- left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 )
- };
- },
-
- position: function() {
- if ( !this[ 0 ] ) {
- return;
- }
-
- var offsetParent, offset,
- parentOffset = { top: 0, left: 0 },
- elem = this[ 0 ];
-
- // Fixed elements are offset from window (parentOffset = {top:0, left: 0},
- // because it is its only offset parent
- if ( jQuery.css( elem, "position" ) === "fixed" ) {
-
- // we assume that getBoundingClientRect is available when computed position is fixed
- offset = elem.getBoundingClientRect();
- } else {
-
- // Get *real* offsetParent
- offsetParent = this.offsetParent();
-
- // Get correct offsets
- offset = this.offset();
- if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
- parentOffset = offsetParent.offset();
- }
-
- // Add offsetParent borders
- parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
- parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
- }
-
- // Subtract parent offsets and element margins
- // note: when an element has margin: auto the offsetLeft and marginLeft
- // are the same in Safari causing offset.left to incorrectly be 0
- return {
- top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
- left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
- };
- },
-
- offsetParent: function() {
- return this.map( function() {
- var offsetParent = this.offsetParent;
-
- while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) &&
- jQuery.css( offsetParent, "position" ) === "static" ) ) {
- offsetParent = offsetParent.offsetParent;
- }
- return offsetParent || documentElement;
- } );
- }
-} );
-
-// Create scrollLeft and scrollTop methods
-jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
- var top = /Y/.test( prop );
-
- jQuery.fn[ method ] = function( val ) {
- return access( this, function( elem, method, val ) {
- var win = getWindow( elem );
-
- if ( val === undefined ) {
- return win ? ( prop in win ) ? win[ prop ] :
- win.document.documentElement[ method ] :
- elem[ method ];
- }
-
- if ( win ) {
- win.scrollTo(
- !top ? val : jQuery( win ).scrollLeft(),
- top ? val : jQuery( win ).scrollTop()
- );
-
- } else {
- elem[ method ] = val;
- }
- }, method, val, arguments.length, null );
- };
-} );
-
-// Support: Safari<7-8+, Chrome<37-44+
-// Add the top/left cssHooks using jQuery.fn.position
-// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
-// getComputedStyle returns percent when specified for top/left/bottom/right
-// rather than make the css module depend on the offset module, we just check for it here
-jQuery.each( [ "top", "left" ], function( i, prop ) {
- jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
- function( elem, computed ) {
- if ( computed ) {
- computed = curCSS( elem, prop );
-
- // if curCSS returns percentage, fallback to offset
- return rnumnonpx.test( computed ) ?
- jQuery( elem ).position()[ prop ] + "px" :
- computed;
- }
- }
- );
-} );
-
-
-// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
-jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
- jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
- function( defaultExtra, funcName ) {
-
- // margin is only for outerHeight, outerWidth
- jQuery.fn[ funcName ] = function( margin, value ) {
- var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
- extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
-
- return access( this, function( elem, type, value ) {
- var doc;
-
- if ( jQuery.isWindow( elem ) ) {
-
- // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
- // isn't a whole lot we can do. See pull request at this URL for discussion:
- // https://github.com/jquery/jquery/pull/764
- return elem.document.documentElement[ "client" + name ];
- }
-
- // Get document width or height
- if ( elem.nodeType === 9 ) {
- doc = elem.documentElement;
-
- // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
- // whichever is greatest
- // unfortunately, this causes bug #3838 in IE6/8 only,
- // but there is currently no good, small way to fix it.
- return Math.max(
- elem.body[ "scroll" + name ], doc[ "scroll" + name ],
- elem.body[ "offset" + name ], doc[ "offset" + name ],
- doc[ "client" + name ]
- );
- }
-
- return value === undefined ?
-
- // Get width or height on the element, requesting but not forcing parseFloat
- jQuery.css( elem, type, extra ) :
-
- // Set width or height on the element
- jQuery.style( elem, type, value, extra );
- }, type, chainable ? margin : undefined, chainable, null );
- };
- } );
-} );
-
-
-jQuery.fn.extend( {
-
- bind: function( types, data, fn ) {
- return this.on( types, null, data, fn );
- },
- unbind: function( types, fn ) {
- return this.off( types, null, fn );
- },
-
- delegate: function( selector, types, data, fn ) {
- return this.on( types, selector, data, fn );
- },
- undelegate: function( selector, types, fn ) {
-
- // ( namespace ) or ( selector, types [, fn] )
- return arguments.length === 1 ?
- this.off( selector, "**" ) :
- this.off( types, selector || "**", fn );
- }
-} );
-
-// The number of elements contained in the matched element set
-jQuery.fn.size = function() {
- return this.length;
-};
-
-jQuery.fn.andSelf = jQuery.fn.addBack;
-
-
-
-
-// Register as a named AMD module, since jQuery can be concatenated with other
-// files that may use define, but not via a proper concatenation script that
-// understands anonymous AMD modules. A named AMD is safest and most robust
-// way to register. Lowercase jquery is used because AMD module names are
-// derived from file names, and jQuery is normally delivered in a lowercase
-// file name. Do this after creating the global so that if an AMD module wants
-// to call noConflict to hide this version of jQuery, it will work.
-
-// Note that for maximum portability, libraries that are not jQuery should
-// declare themselves as anonymous modules, and avoid setting a global if an
-// AMD loader is present. jQuery is a special case. For more information, see
-// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
-
-if ( typeof define === "function" && define.amd ) {
- define( "jquery", [], function() {
- return jQuery;
- } );
-}
-
-
-
-var
-
- // Map over jQuery in case of overwrite
- _jQuery = window.jQuery,
-
- // Map over the $ in case of overwrite
- _$ = window.$;
-
-jQuery.noConflict = function( deep ) {
- if ( window.$ === jQuery ) {
- window.$ = _$;
- }
-
- if ( deep && window.jQuery === jQuery ) {
- window.jQuery = _jQuery;
- }
-
- return jQuery;
-};
-
-// Expose jQuery and $ identifiers, even in
-// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
-// and CommonJS for browser emulators (#13566)
-if ( !noGlobal ) {
- window.jQuery = window.$ = jQuery;
-}
-
-return jQuery;
-}));
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_444444_256x240.png b/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_444444_256x240.png
deleted file mode 100644
index 19f664d..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_444444_256x240.png
+++ /dev/null
Binary files differ
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_555555_256x240.png b/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_555555_256x240.png
deleted file mode 100644
index e965f6d..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_555555_256x240.png
+++ /dev/null
Binary files differ
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_777620_256x240.png b/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_777620_256x240.png
deleted file mode 100644
index 9785948..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_777620_256x240.png
+++ /dev/null
Binary files differ
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_777777_256x240.png b/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_777777_256x240.png
deleted file mode 100644
index 323c456..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_777777_256x240.png
+++ /dev/null
Binary files differ
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_cc0000_256x240.png b/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_cc0000_256x240.png
deleted file mode 100644
index 45ac778..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_cc0000_256x240.png
+++ /dev/null
Binary files differ
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_ffffff_256x240.png b/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_ffffff_256x240.png
deleted file mode 100644
index fe41d2d..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/images/ui-icons_ffffff_256x240.png
+++ /dev/null
Binary files differ
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/index.html b/javascript/vendor/jquery-ui-1.12.1.custom/index.html
deleted file mode 100644
index cb3786f..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/index.html
+++ /dev/null
@@ -1,325 +0,0 @@
-<!doctype html>
-<html lang="us">
-<head>
- <meta charset="utf-8">
- <title>jQuery UI Example Page</title>
- <link href="jquery-ui.css" rel="stylesheet">
- <style>
- body{
- font-family: "Trebuchet MS", sans-serif;
- margin: 50px;
- }
- .demoHeaders {
- margin-top: 2em;
- }
- #dialog-link {
- padding: .4em 1em .4em 20px;
- text-decoration: none;
- position: relative;
- }
- #dialog-link span.ui-icon {
- margin: 0 5px 0 0;
- position: absolute;
- left: .2em;
- top: 50%;
- margin-top: -8px;
- }
- #icons {
- margin: 0;
- padding: 0;
- }
- #icons li {
- margin: 2px;
- position: relative;
- padding: 4px 0;
- cursor: pointer;
- float: left;
- list-style: none;
- }
- #icons span.ui-icon {
- float: left;
- margin: 0 4px;
- }
- .fakewindowcontain .ui-widget-overlay {
- position: absolute;
- }
- select {
- width: 200px;
- }
- </style>
-</head>
-<body>
-
-<h1>Welcome to jQuery UI!</h1>
-
-<div class="ui-widget">
- <p>This page demonstrates the widgets and theme you selected in Download Builder. Please make sure you are using them with a compatible jQuery version.</p>
-</div>
-
-<h1>YOUR COMPONENTS:</h1>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<h2 class="demoHeaders">Framework Icons (content color preview)</h2>
-<ul id="icons" class="ui-widget ui-helper-clearfix">
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-n"><span class="ui-icon ui-icon-caret-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-ne"><span class="ui-icon ui-icon-caret-1-ne"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-e"><span class="ui-icon ui-icon-caret-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-se"><span class="ui-icon ui-icon-caret-1-se"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-s"><span class="ui-icon ui-icon-caret-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-sw"><span class="ui-icon ui-icon-caret-1-sw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-w"><span class="ui-icon ui-icon-caret-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-1-nw"><span class="ui-icon ui-icon-caret-1-nw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-2-n-s"><span class="ui-icon ui-icon-caret-2-n-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-caret-2-e-w"><span class="ui-icon ui-icon-caret-2-e-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-n"><span class="ui-icon ui-icon-triangle-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-ne"><span class="ui-icon ui-icon-triangle-1-ne"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-e"><span class="ui-icon ui-icon-triangle-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-se"><span class="ui-icon ui-icon-triangle-1-se"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-s"><span class="ui-icon ui-icon-triangle-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-sw"><span class="ui-icon ui-icon-triangle-1-sw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-w"><span class="ui-icon ui-icon-triangle-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-1-nw"><span class="ui-icon ui-icon-triangle-1-nw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-2-n-s"><span class="ui-icon ui-icon-triangle-2-n-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-triangle-2-e-w"><span class="ui-icon ui-icon-triangle-2-e-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-n"><span class="ui-icon ui-icon-arrow-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-ne"><span class="ui-icon ui-icon-arrow-1-ne"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-e"><span class="ui-icon ui-icon-arrow-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-se"><span class="ui-icon ui-icon-arrow-1-se"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-s"><span class="ui-icon ui-icon-arrow-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-sw"><span class="ui-icon ui-icon-arrow-1-sw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-w"><span class="ui-icon ui-icon-arrow-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-1-nw"><span class="ui-icon ui-icon-arrow-1-nw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-n-s"><span class="ui-icon ui-icon-arrow-2-n-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-ne-sw"><span class="ui-icon ui-icon-arrow-2-ne-sw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-e-w"><span class="ui-icon ui-icon-arrow-2-e-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-2-se-nw"><span class="ui-icon ui-icon-arrow-2-se-nw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-n"><span class="ui-icon ui-icon-arrowstop-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-e"><span class="ui-icon ui-icon-arrowstop-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-s"><span class="ui-icon ui-icon-arrowstop-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowstop-1-w"><span class="ui-icon ui-icon-arrowstop-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-n"><span class="ui-icon ui-icon-arrowthick-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-ne"><span class="ui-icon ui-icon-arrowthick-1-ne"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-e"><span class="ui-icon ui-icon-arrowthick-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-se"><span class="ui-icon ui-icon-arrowthick-1-se"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-s"><span class="ui-icon ui-icon-arrowthick-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-sw"><span class="ui-icon ui-icon-arrowthick-1-sw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-w"><span class="ui-icon ui-icon-arrowthick-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-1-nw"><span class="ui-icon ui-icon-arrowthick-1-nw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-n-s"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-ne-sw"><span class="ui-icon ui-icon-arrowthick-2-ne-sw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-e-w"><span class="ui-icon ui-icon-arrowthick-2-e-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthick-2-se-nw"><span class="ui-icon ui-icon-arrowthick-2-se-nw"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-n"><span class="ui-icon ui-icon-arrowthickstop-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-e"><span class="ui-icon ui-icon-arrowthickstop-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-s"><span class="ui-icon ui-icon-arrowthickstop-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowthickstop-1-w"><span class="ui-icon ui-icon-arrowthickstop-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-w"><span class="ui-icon ui-icon-arrowreturnthick-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-n"><span class="ui-icon ui-icon-arrowreturnthick-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-e"><span class="ui-icon ui-icon-arrowreturnthick-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturnthick-1-s"><span class="ui-icon ui-icon-arrowreturnthick-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-w"><span class="ui-icon ui-icon-arrowreturn-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-n"><span class="ui-icon ui-icon-arrowreturn-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-e"><span class="ui-icon ui-icon-arrowreturn-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowreturn-1-s"><span class="ui-icon ui-icon-arrowreturn-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-w"><span class="ui-icon ui-icon-arrowrefresh-1-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-n"><span class="ui-icon ui-icon-arrowrefresh-1-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-e"><span class="ui-icon ui-icon-arrowrefresh-1-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrowrefresh-1-s"><span class="ui-icon ui-icon-arrowrefresh-1-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-4"><span class="ui-icon ui-icon-arrow-4"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-arrow-4-diag"><span class="ui-icon ui-icon-arrow-4-diag"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-extlink"><span class="ui-icon ui-icon-extlink"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-newwin"><span class="ui-icon ui-icon-newwin"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-refresh"><span class="ui-icon ui-icon-refresh"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-shuffle"><span class="ui-icon ui-icon-shuffle"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-transfer-e-w"><span class="ui-icon ui-icon-transfer-e-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-transferthick-e-w"><span class="ui-icon ui-icon-transferthick-e-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-folder-collapsed"><span class="ui-icon ui-icon-folder-collapsed"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-folder-open"><span class="ui-icon ui-icon-folder-open"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-document"><span class="ui-icon ui-icon-document"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-document-b"><span class="ui-icon ui-icon-document-b"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-note"><span class="ui-icon ui-icon-note"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-mail-closed"><span class="ui-icon ui-icon-mail-closed"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-mail-open"><span class="ui-icon ui-icon-mail-open"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-suitcase"><span class="ui-icon ui-icon-suitcase"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-comment"><span class="ui-icon ui-icon-comment"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-person"><span class="ui-icon ui-icon-person"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-print"><span class="ui-icon ui-icon-print"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-trash"><span class="ui-icon ui-icon-trash"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-locked"><span class="ui-icon ui-icon-locked"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-unlocked"><span class="ui-icon ui-icon-unlocked"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-bookmark"><span class="ui-icon ui-icon-bookmark"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-tag"><span class="ui-icon ui-icon-tag"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-home"><span class="ui-icon ui-icon-home"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-flag"><span class="ui-icon ui-icon-flag"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-calculator"><span class="ui-icon ui-icon-calculator"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-cart"><span class="ui-icon ui-icon-cart"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-pencil"><span class="ui-icon ui-icon-pencil"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-clock"><span class="ui-icon ui-icon-clock"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-disk"><span class="ui-icon ui-icon-disk"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-calendar"><span class="ui-icon ui-icon-calendar"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-zoomin"><span class="ui-icon ui-icon-zoomin"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-zoomout"><span class="ui-icon ui-icon-zoomout"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-search"><span class="ui-icon ui-icon-search"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-wrench"><span class="ui-icon ui-icon-wrench"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-gear"><span class="ui-icon ui-icon-gear"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-heart"><span class="ui-icon ui-icon-heart"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-star"><span class="ui-icon ui-icon-star"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-link"><span class="ui-icon ui-icon-link"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-cancel"><span class="ui-icon ui-icon-cancel"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-plus"><span class="ui-icon ui-icon-plus"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-plusthick"><span class="ui-icon ui-icon-plusthick"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-minus"><span class="ui-icon ui-icon-minus"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-minusthick"><span class="ui-icon ui-icon-minusthick"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-close"><span class="ui-icon ui-icon-close"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-closethick"><span class="ui-icon ui-icon-closethick"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-key"><span class="ui-icon ui-icon-key"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-lightbulb"><span class="ui-icon ui-icon-lightbulb"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-scissors"><span class="ui-icon ui-icon-scissors"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-clipboard"><span class="ui-icon ui-icon-clipboard"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-copy"><span class="ui-icon ui-icon-copy"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-contact"><span class="ui-icon ui-icon-contact"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-image"><span class="ui-icon ui-icon-image"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-video"><span class="ui-icon ui-icon-video"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-script"><span class="ui-icon ui-icon-script"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-alert"><span class="ui-icon ui-icon-alert"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-info"><span class="ui-icon ui-icon-info"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-notice"><span class="ui-icon ui-icon-notice"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-help"><span class="ui-icon ui-icon-help"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-check"><span class="ui-icon ui-icon-check"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-bullet"><span class="ui-icon ui-icon-bullet"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-radio-off"><span class="ui-icon ui-icon-radio-off"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-radio-on"><span class="ui-icon ui-icon-radio-on"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-pin-w"><span class="ui-icon ui-icon-pin-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-pin-s"><span class="ui-icon ui-icon-pin-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-play"><span class="ui-icon ui-icon-play"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-pause"><span class="ui-icon ui-icon-pause"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-seek-next"><span class="ui-icon ui-icon-seek-next"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-seek-prev"><span class="ui-icon ui-icon-seek-prev"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-seek-end"><span class="ui-icon ui-icon-seek-end"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-seek-first"><span class="ui-icon ui-icon-seek-first"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-stop"><span class="ui-icon ui-icon-stop"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-eject"><span class="ui-icon ui-icon-eject"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-volume-off"><span class="ui-icon ui-icon-volume-off"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-volume-on"><span class="ui-icon ui-icon-volume-on"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-power"><span class="ui-icon ui-icon-power"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-signal-diag"><span class="ui-icon ui-icon-signal-diag"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-signal"><span class="ui-icon ui-icon-signal"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-battery-0"><span class="ui-icon ui-icon-battery-0"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-battery-1"><span class="ui-icon ui-icon-battery-1"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-battery-2"><span class="ui-icon ui-icon-battery-2"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-battery-3"><span class="ui-icon ui-icon-battery-3"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-plus"><span class="ui-icon ui-icon-circle-plus"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-minus"><span class="ui-icon ui-icon-circle-minus"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-close"><span class="ui-icon ui-icon-circle-close"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-e"><span class="ui-icon ui-icon-circle-triangle-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-s"><span class="ui-icon ui-icon-circle-triangle-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-w"><span class="ui-icon ui-icon-circle-triangle-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-triangle-n"><span class="ui-icon ui-icon-circle-triangle-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-e"><span class="ui-icon ui-icon-circle-arrow-e"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-s"><span class="ui-icon ui-icon-circle-arrow-s"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-w"><span class="ui-icon ui-icon-circle-arrow-w"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-arrow-n"><span class="ui-icon ui-icon-circle-arrow-n"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-zoomin"><span class="ui-icon ui-icon-circle-zoomin"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-zoomout"><span class="ui-icon ui-icon-circle-zoomout"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circle-check"><span class="ui-icon ui-icon-circle-check"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-plus"><span class="ui-icon ui-icon-circlesmall-plus"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-minus"><span class="ui-icon ui-icon-circlesmall-minus"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-circlesmall-close"><span class="ui-icon ui-icon-circlesmall-close"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-plus"><span class="ui-icon ui-icon-squaresmall-plus"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-minus"><span class="ui-icon ui-icon-squaresmall-minus"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-squaresmall-close"><span class="ui-icon ui-icon-squaresmall-close"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-dotted-vertical"><span class="ui-icon ui-icon-grip-dotted-vertical"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-dotted-horizontal"><span class="ui-icon ui-icon-grip-dotted-horizontal"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-solid-vertical"><span class="ui-icon ui-icon-grip-solid-vertical"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-solid-horizontal"><span class="ui-icon ui-icon-grip-solid-horizontal"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-gripsmall-diagonal-se"><span class="ui-icon ui-icon-gripsmall-diagonal-se"></span></li>
- <li class="ui-state-default ui-corner-all" title=".ui-icon-grip-diagonal-se"><span class="ui-icon ui-icon-grip-diagonal-se"></span></li>
-</ul>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-<!-- Highlight / Error -->
-<h2 class="demoHeaders">Highlight / Error</h2>
-<div class="ui-widget">
- <div class="ui-state-highlight ui-corner-all" style="margin-top: 20px; padding: 0 .7em;">
- <p><span class="ui-icon ui-icon-info" style="float: left; margin-right: .3em;"></span>
- <strong>Hey!</strong> Sample ui-state-highlight style.</p>
- </div>
-</div>
-<br>
-<div class="ui-widget">
- <div class="ui-state-error ui-corner-all" style="padding: 0 .7em;">
- <p><span class="ui-icon ui-icon-alert" style="float: left; margin-right: .3em;"></span>
- <strong>Alert:</strong> Sample ui-state-error style.</p>
- </div>
-</div>
-
-<script src="external/jquery/jquery.js"></script>
-<script src="jquery-ui.js"></script>
-<script>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-// Hover states on the static widgets
-$( "#dialog-link, #icons li" ).hover(
- function() {
- $( this ).addClass( "ui-state-hover" );
- },
- function() {
- $( this ).removeClass( "ui-state-hover" );
- }
-);
-</script>
-</body>
-</html>
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.css b/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.css
deleted file mode 100644
index 916181d..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.css
+++ /dev/null
@@ -1,596 +0,0 @@
-/*! jQuery UI - v1.12.1 - 2018-03-18
-* http://jqueryui.com
-* Includes: draggable.css, core.css, resizable.css, theme.css
-* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-.ui-draggable-handle {
- -ms-touch-action: none;
- touch-action: none;
-}
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden {
- display: none;
-}
-.ui-helper-hidden-accessible {
- border: 0;
- clip: rect(0 0 0 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px;
-}
-.ui-helper-reset {
- margin: 0;
- padding: 0;
- border: 0;
- outline: 0;
- line-height: 1.3;
- text-decoration: none;
- font-size: 100%;
- list-style: none;
-}
-.ui-helper-clearfix:before,
-.ui-helper-clearfix:after {
- content: "";
- display: table;
- border-collapse: collapse;
-}
-.ui-helper-clearfix:after {
- clear: both;
-}
-.ui-helper-zfix {
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- position: absolute;
- opacity: 0;
- filter:Alpha(Opacity=0); /* support: IE8 */
-}
-
-.ui-front {
- z-index: 100;
-}
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled {
- cursor: default !important;
- pointer-events: none;
-}
-
-
-/* Icons
-----------------------------------*/
-.ui-icon {
- display: inline-block;
- vertical-align: middle;
- margin-top: -.25em;
- position: relative;
- text-indent: -99999px;
- overflow: hidden;
- background-repeat: no-repeat;
-}
-
-.ui-widget-icon-block {
- left: 50%;
- margin-left: -8px;
- display: block;
-}
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-.ui-resizable {
- position: relative;
-}
-.ui-resizable-handle {
- position: absolute;
- font-size: 0.1px;
- display: block;
- -ms-touch-action: none;
- touch-action: none;
-}
-.ui-resizable-disabled .ui-resizable-handle,
-.ui-resizable-autohide .ui-resizable-handle {
- display: none;
-}
-.ui-resizable-n {
- cursor: n-resize;
- height: 7px;
- width: 100%;
- top: -5px;
- left: 0;
-}
-.ui-resizable-s {
- cursor: s-resize;
- height: 7px;
- width: 100%;
- bottom: -5px;
- left: 0;
-}
-.ui-resizable-e {
- cursor: e-resize;
- width: 7px;
- right: -5px;
- top: 0;
- height: 100%;
-}
-.ui-resizable-w {
- cursor: w-resize;
- width: 7px;
- left: -5px;
- top: 0;
- height: 100%;
-}
-.ui-resizable-se {
- cursor: se-resize;
- width: 12px;
- height: 12px;
- right: 1px;
- bottom: 1px;
-}
-.ui-resizable-sw {
- cursor: sw-resize;
- width: 9px;
- height: 9px;
- left: -5px;
- bottom: -5px;
-}
-.ui-resizable-nw {
- cursor: nw-resize;
- width: 9px;
- height: 9px;
- left: -5px;
- top: -5px;
-}
-.ui-resizable-ne {
- cursor: ne-resize;
- width: 9px;
- height: 9px;
- right: -5px;
- top: -5px;
-}
-
-/* Component containers
-----------------------------------*/
-.ui-widget {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget .ui-widget {
- font-size: 1em;
-}
-.ui-widget input,
-.ui-widget select,
-.ui-widget textarea,
-.ui-widget button {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget.ui-widget-content {
- border: 1px solid #c5c5c5;
-}
-.ui-widget-content {
- border: 1px solid #dddddd;
- background: #ffffff;
- color: #333333;
-}
-.ui-widget-content a {
- color: #333333;
-}
-.ui-widget-header {
- border: 1px solid #dddddd;
- background: #e9e9e9;
- color: #333333;
- font-weight: bold;
-}
-.ui-widget-header a {
- color: #333333;
-}
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default,
-.ui-button,
-
-/* We use html here because we need a greater specificity to make sure disabled
-works properly when clicked or hovered */
-html .ui-button.ui-state-disabled:hover,
-html .ui-button.ui-state-disabled:active {
- border: 1px solid #c5c5c5;
- background: #f6f6f6;
- font-weight: normal;
- color: #454545;
-}
-.ui-state-default a,
-.ui-state-default a:link,
-.ui-state-default a:visited,
-a.ui-button,
-a:link.ui-button,
-a:visited.ui-button,
-.ui-button {
- color: #454545;
- text-decoration: none;
-}
-.ui-state-hover,
-.ui-widget-content .ui-state-hover,
-.ui-widget-header .ui-state-hover,
-.ui-state-focus,
-.ui-widget-content .ui-state-focus,
-.ui-widget-header .ui-state-focus,
-.ui-button:hover,
-.ui-button:focus {
- border: 1px solid #cccccc;
- background: #ededed;
- font-weight: normal;
- color: #2b2b2b;
-}
-.ui-state-hover a,
-.ui-state-hover a:hover,
-.ui-state-hover a:link,
-.ui-state-hover a:visited,
-.ui-state-focus a,
-.ui-state-focus a:hover,
-.ui-state-focus a:link,
-.ui-state-focus a:visited,
-a.ui-button:hover,
-a.ui-button:focus {
- color: #2b2b2b;
- text-decoration: none;
-}
-
-.ui-visual-focus {
- box-shadow: 0 0 3px 1px rgb(94, 158, 214);
-}
-.ui-state-active,
-.ui-widget-content .ui-state-active,
-.ui-widget-header .ui-state-active,
-a.ui-button:active,
-.ui-button:active,
-.ui-button.ui-state-active:hover {
- border: 1px solid #003eff;
- background: #007fff;
- font-weight: normal;
- color: #ffffff;
-}
-.ui-icon-background,
-.ui-state-active .ui-icon-background {
- border: #003eff;
- background-color: #ffffff;
-}
-.ui-state-active a,
-.ui-state-active a:link,
-.ui-state-active a:visited {
- color: #ffffff;
- text-decoration: none;
-}
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight,
-.ui-widget-content .ui-state-highlight,
-.ui-widget-header .ui-state-highlight {
- border: 1px solid #dad55e;
- background: #fffa90;
- color: #777620;
-}
-.ui-state-checked {
- border: 1px solid #dad55e;
- background: #fffa90;
-}
-.ui-state-highlight a,
-.ui-widget-content .ui-state-highlight a,
-.ui-widget-header .ui-state-highlight a {
- color: #777620;
-}
-.ui-state-error,
-.ui-widget-content .ui-state-error,
-.ui-widget-header .ui-state-error {
- border: 1px solid #f1a899;
- background: #fddfdf;
- color: #5f3f3f;
-}
-.ui-state-error a,
-.ui-widget-content .ui-state-error a,
-.ui-widget-header .ui-state-error a {
- color: #5f3f3f;
-}
-.ui-state-error-text,
-.ui-widget-content .ui-state-error-text,
-.ui-widget-header .ui-state-error-text {
- color: #5f3f3f;
-}
-.ui-priority-primary,
-.ui-widget-content .ui-priority-primary,
-.ui-widget-header .ui-priority-primary {
- font-weight: bold;
-}
-.ui-priority-secondary,
-.ui-widget-content .ui-priority-secondary,
-.ui-widget-header .ui-priority-secondary {
- opacity: .7;
- filter:Alpha(Opacity=70); /* support: IE8 */
- font-weight: normal;
-}
-.ui-state-disabled,
-.ui-widget-content .ui-state-disabled,
-.ui-widget-header .ui-state-disabled {
- opacity: .35;
- filter:Alpha(Opacity=35); /* support: IE8 */
- background-image: none;
-}
-.ui-state-disabled .ui-icon {
- filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
-}
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
- width: 16px;
- height: 16px;
-}
-.ui-icon,
-.ui-widget-content .ui-icon {
- background-image: url("images/ui-icons_444444_256x240.png");
-}
-.ui-widget-header .ui-icon {
- background-image: url("images/ui-icons_444444_256x240.png");
-}
-.ui-state-hover .ui-icon,
-.ui-state-focus .ui-icon,
-.ui-button:hover .ui-icon,
-.ui-button:focus .ui-icon {
- background-image: url("images/ui-icons_555555_256x240.png");
-}
-.ui-state-active .ui-icon,
-.ui-button:active .ui-icon {
- background-image: url("images/ui-icons_ffffff_256x240.png");
-}
-.ui-state-highlight .ui-icon,
-.ui-button .ui-state-highlight.ui-icon {
- background-image: url("images/ui-icons_777620_256x240.png");
-}
-.ui-state-error .ui-icon,
-.ui-state-error-text .ui-icon {
- background-image: url("images/ui-icons_cc0000_256x240.png");
-}
-.ui-button .ui-icon {
- background-image: url("images/ui-icons_777777_256x240.png");
-}
-
-/* positioning */
-.ui-icon-blank { background-position: 16px 16px; }
-.ui-icon-caret-1-n { background-position: 0 0; }
-.ui-icon-caret-1-ne { background-position: -16px 0; }
-.ui-icon-caret-1-e { background-position: -32px 0; }
-.ui-icon-caret-1-se { background-position: -48px 0; }
-.ui-icon-caret-1-s { background-position: -65px 0; }
-.ui-icon-caret-1-sw { background-position: -80px 0; }
-.ui-icon-caret-1-w { background-position: -96px 0; }
-.ui-icon-caret-1-nw { background-position: -112px 0; }
-.ui-icon-caret-2-n-s { background-position: -128px 0; }
-.ui-icon-caret-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -65px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -65px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-on { background-position: -96px -144px; }
-.ui-icon-radio-off { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-left,
-.ui-corner-tl {
- border-top-left-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-right,
-.ui-corner-tr {
- border-top-right-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-left,
-.ui-corner-bl {
- border-bottom-left-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-right,
-.ui-corner-br {
- border-bottom-right-radius: 3px;
-}
-
-/* Overlays */
-.ui-widget-overlay {
- background: #aaaaaa;
- opacity: .3;
- filter: Alpha(Opacity=30); /* support: IE8 */
-}
-.ui-widget-shadow {
- -webkit-box-shadow: 0px 0px 5px #666666;
- box-shadow: 0px 0px 5px #666666;
-}
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.js b/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.js
deleted file mode 100644
index fc62b9a..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.js
+++ /dev/null
@@ -1,3553 +0,0 @@
-/*! jQuery UI - v1.12.1 - 2018-03-18
-* http://jqueryui.com
-* Includes: widget.js, data.js, disable-selection.js, scroll-parent.js, widgets/draggable.js, widgets/resizable.js, widgets/mouse.js
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-(function( factory ) {
- if ( typeof define === "function" && define.amd ) {
-
- // AMD. Register as an anonymous module.
- define([ "jquery" ], factory );
- } else {
-
- // Browser globals
- factory( jQuery );
- }
-}(function( $ ) {
-
-$.ui = $.ui || {};
-
-var version = $.ui.version = "1.12.1";
-
-
-/*!
- * jQuery UI Widget 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- */
-
-//>>label: Widget
-//>>group: Core
-//>>description: Provides a factory for creating stateful widgets with a common API.
-//>>docs: http://api.jqueryui.com/jQuery.widget/
-//>>demos: http://jqueryui.com/widget/
-
-
-
-var widgetUuid = 0;
-var widgetSlice = Array.prototype.slice;
-
-$.cleanData = ( function( orig ) {
- return function( elems ) {
- var events, elem, i;
- for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) {
- try {
-
- // Only trigger remove when necessary to save time
- events = $._data( elem, "events" );
- if ( events && events.remove ) {
- $( elem ).triggerHandler( "remove" );
- }
-
- // Http://bugs.jquery.com/ticket/8235
- } catch ( e ) {}
- }
- orig( elems );
- };
-} )( $.cleanData );
-
-$.widget = function( name, base, prototype ) {
- var existingConstructor, constructor, basePrototype;
-
- // ProxiedPrototype allows the provided prototype to remain unmodified
- // so that it can be used as a mixin for multiple widgets (#8876)
- var proxiedPrototype = {};
-
- var namespace = name.split( "." )[ 0 ];
- name = name.split( "." )[ 1 ];
- var fullName = namespace + "-" + name;
-
- if ( !prototype ) {
- prototype = base;
- base = $.Widget;
- }
-
- if ( $.isArray( prototype ) ) {
- prototype = $.extend.apply( null, [ {} ].concat( prototype ) );
- }
-
- // Create selector for plugin
- $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) {
- return !!$.data( elem, fullName );
- };
-
- $[ namespace ] = $[ namespace ] || {};
- existingConstructor = $[ namespace ][ name ];
- constructor = $[ namespace ][ name ] = function( options, element ) {
-
- // Allow instantiation without "new" keyword
- if ( !this._createWidget ) {
- return new constructor( options, element );
- }
-
- // Allow instantiation without initializing for simple inheritance
- // must use "new" keyword (the code above always passes args)
- if ( arguments.length ) {
- this._createWidget( options, element );
- }
- };
-
- // Extend with the existing constructor to carry over any static properties
- $.extend( constructor, existingConstructor, {
- version: prototype.version,
-
- // Copy the object used to create the prototype in case we need to
- // redefine the widget later
- _proto: $.extend( {}, prototype ),
-
- // Track widgets that inherit from this widget in case this widget is
- // redefined after a widget inherits from it
- _childConstructors: []
- } );
-
- basePrototype = new base();
-
- // We need to make the options hash a property directly on the new instance
- // otherwise we'll modify the options hash on the prototype that we're
- // inheriting from
- basePrototype.options = $.widget.extend( {}, basePrototype.options );
- $.each( prototype, function( prop, value ) {
- if ( !$.isFunction( value ) ) {
- proxiedPrototype[ prop ] = value;
- return;
- }
- proxiedPrototype[ prop ] = ( function() {
- function _super() {
- return base.prototype[ prop ].apply( this, arguments );
- }
-
- function _superApply( args ) {
- return base.prototype[ prop ].apply( this, args );
- }
-
- return function() {
- var __super = this._super;
- var __superApply = this._superApply;
- var returnValue;
-
- this._super = _super;
- this._superApply = _superApply;
-
- returnValue = value.apply( this, arguments );
-
- this._super = __super;
- this._superApply = __superApply;
-
- return returnValue;
- };
- } )();
- } );
- constructor.prototype = $.widget.extend( basePrototype, {
-
- // TODO: remove support for widgetEventPrefix
- // always use the name + a colon as the prefix, e.g., draggable:start
- // don't prefix for widgets that aren't DOM-based
- widgetEventPrefix: existingConstructor ? ( basePrototype.widgetEventPrefix || name ) : name
- }, proxiedPrototype, {
- constructor: constructor,
- namespace: namespace,
- widgetName: name,
- widgetFullName: fullName
- } );
-
- // If this widget is being redefined then we need to find all widgets that
- // are inheriting from it and redefine all of them so that they inherit from
- // the new version of this widget. We're essentially trying to replace one
- // level in the prototype chain.
- if ( existingConstructor ) {
- $.each( existingConstructor._childConstructors, function( i, child ) {
- var childPrototype = child.prototype;
-
- // Redefine the child widget using the same prototype that was
- // originally used, but inherit from the new version of the base
- $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor,
- child._proto );
- } );
-
- // Remove the list of existing child constructors from the old constructor
- // so the old child constructors can be garbage collected
- delete existingConstructor._childConstructors;
- } else {
- base._childConstructors.push( constructor );
- }
-
- $.widget.bridge( name, constructor );
-
- return constructor;
-};
-
-$.widget.extend = function( target ) {
- var input = widgetSlice.call( arguments, 1 );
- var inputIndex = 0;
- var inputLength = input.length;
- var key;
- var value;
-
- for ( ; inputIndex < inputLength; inputIndex++ ) {
- for ( key in input[ inputIndex ] ) {
- value = input[ inputIndex ][ key ];
- if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) {
-
- // Clone objects
- if ( $.isPlainObject( value ) ) {
- target[ key ] = $.isPlainObject( target[ key ] ) ?
- $.widget.extend( {}, target[ key ], value ) :
-
- // Don't extend strings, arrays, etc. with objects
- $.widget.extend( {}, value );
-
- // Copy everything else by reference
- } else {
- target[ key ] = value;
- }
- }
- }
- }
- return target;
-};
-
-$.widget.bridge = function( name, object ) {
- var fullName = object.prototype.widgetFullName || name;
- $.fn[ name ] = function( options ) {
- var isMethodCall = typeof options === "string";
- var args = widgetSlice.call( arguments, 1 );
- var returnValue = this;
-
- if ( isMethodCall ) {
-
- // If this is an empty collection, we need to have the instance method
- // return undefined instead of the jQuery instance
- if ( !this.length && options === "instance" ) {
- returnValue = undefined;
- } else {
- this.each( function() {
- var methodValue;
- var instance = $.data( this, fullName );
-
- if ( options === "instance" ) {
- returnValue = instance;
- return false;
- }
-
- if ( !instance ) {
- return $.error( "cannot call methods on " + name +
- " prior to initialization; " +
- "attempted to call method '" + options + "'" );
- }
-
- if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) {
- return $.error( "no such method '" + options + "' for " + name +
- " widget instance" );
- }
-
- methodValue = instance[ options ].apply( instance, args );
-
- if ( methodValue !== instance && methodValue !== undefined ) {
- returnValue = methodValue && methodValue.jquery ?
- returnValue.pushStack( methodValue.get() ) :
- methodValue;
- return false;
- }
- } );
- }
- } else {
-
- // Allow multiple hashes to be passed on init
- if ( args.length ) {
- options = $.widget.extend.apply( null, [ options ].concat( args ) );
- }
-
- this.each( function() {
- var instance = $.data( this, fullName );
- if ( instance ) {
- instance.option( options || {} );
- if ( instance._init ) {
- instance._init();
- }
- } else {
- $.data( this, fullName, new object( options, this ) );
- }
- } );
- }
-
- return returnValue;
- };
-};
-
-$.Widget = function( /* options, element */ ) {};
-$.Widget._childConstructors = [];
-
-$.Widget.prototype = {
- widgetName: "widget",
- widgetEventPrefix: "",
- defaultElement: "<div>",
-
- options: {
- classes: {},
- disabled: false,
-
- // Callbacks
- create: null
- },
-
- _createWidget: function( options, element ) {
- element = $( element || this.defaultElement || this )[ 0 ];
- this.element = $( element );
- this.uuid = widgetUuid++;
- this.eventNamespace = "." + this.widgetName + this.uuid;
-
- this.bindings = $();
- this.hoverable = $();
- this.focusable = $();
- this.classesElementLookup = {};
-
- if ( element !== this ) {
- $.data( element, this.widgetFullName, this );
- this._on( true, this.element, {
- remove: function( event ) {
- if ( event.target === element ) {
- this.destroy();
- }
- }
- } );
- this.document = $( element.style ?
-
- // Element within the document
- element.ownerDocument :
-
- // Element is window or document
- element.document || element );
- this.window = $( this.document[ 0 ].defaultView || this.document[ 0 ].parentWindow );
- }
-
- this.options = $.widget.extend( {},
- this.options,
- this._getCreateOptions(),
- options );
-
- this._create();
-
- if ( this.options.disabled ) {
- this._setOptionDisabled( this.options.disabled );
- }
-
- this._trigger( "create", null, this._getCreateEventData() );
- this._init();
- },
-
- _getCreateOptions: function() {
- return {};
- },
-
- _getCreateEventData: $.noop,
-
- _create: $.noop,
-
- _init: $.noop,
-
- destroy: function() {
- var that = this;
-
- this._destroy();
- $.each( this.classesElementLookup, function( key, value ) {
- that._removeClass( value, key );
- } );
-
- // We can probably remove the unbind calls in 2.0
- // all event bindings should go through this._on()
- this.element
- .off( this.eventNamespace )
- .removeData( this.widgetFullName );
- this.widget()
- .off( this.eventNamespace )
- .removeAttr( "aria-disabled" );
-
- // Clean up events and states
- this.bindings.off( this.eventNamespace );
- },
-
- _destroy: $.noop,
-
- widget: function() {
- return this.element;
- },
-
- option: function( key, value ) {
- var options = key;
- var parts;
- var curOption;
- var i;
-
- if ( arguments.length === 0 ) {
-
- // Don't return a reference to the internal hash
- return $.widget.extend( {}, this.options );
- }
-
- if ( typeof key === "string" ) {
-
- // Handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } }
- options = {};
- parts = key.split( "." );
- key = parts.shift();
- if ( parts.length ) {
- curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] );
- for ( i = 0; i < parts.length - 1; i++ ) {
- curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {};
- curOption = curOption[ parts[ i ] ];
- }
- key = parts.pop();
- if ( arguments.length === 1 ) {
- return curOption[ key ] === undefined ? null : curOption[ key ];
- }
- curOption[ key ] = value;
- } else {
- if ( arguments.length === 1 ) {
- return this.options[ key ] === undefined ? null : this.options[ key ];
- }
- options[ key ] = value;
- }
- }
-
- this._setOptions( options );
-
- return this;
- },
-
- _setOptions: function( options ) {
- var key;
-
- for ( key in options ) {
- this._setOption( key, options[ key ] );
- }
-
- return this;
- },
-
- _setOption: function( key, value ) {
- if ( key === "classes" ) {
- this._setOptionClasses( value );
- }
-
- this.options[ key ] = value;
-
- if ( key === "disabled" ) {
- this._setOptionDisabled( value );
- }
-
- return this;
- },
-
- _setOptionClasses: function( value ) {
- var classKey, elements, currentElements;
-
- for ( classKey in value ) {
- currentElements = this.classesElementLookup[ classKey ];
- if ( value[ classKey ] === this.options.classes[ classKey ] ||
- !currentElements ||
- !currentElements.length ) {
- continue;
- }
-
- // We are doing this to create a new jQuery object because the _removeClass() call
- // on the next line is going to destroy the reference to the current elements being
- // tracked. We need to save a copy of this collection so that we can add the new classes
- // below.
- elements = $( currentElements.get() );
- this._removeClass( currentElements, classKey );
-
- // We don't use _addClass() here, because that uses this.options.classes
- // for generating the string of classes. We want to use the value passed in from
- // _setOption(), this is the new value of the classes option which was passed to
- // _setOption(). We pass this value directly to _classes().
- elements.addClass( this._classes( {
- element: elements,
- keys: classKey,
- classes: value,
- add: true
- } ) );
- }
- },
-
- _setOptionDisabled: function( value ) {
- this._toggleClass( this.widget(), this.widgetFullName + "-disabled", null, !!value );
-
- // If the widget is becoming disabled, then nothing is interactive
- if ( value ) {
- this._removeClass( this.hoverable, null, "ui-state-hover" );
- this._removeClass( this.focusable, null, "ui-state-focus" );
- }
- },
-
- enable: function() {
- return this._setOptions( { disabled: false } );
- },
-
- disable: function() {
- return this._setOptions( { disabled: true } );
- },
-
- _classes: function( options ) {
- var full = [];
- var that = this;
-
- options = $.extend( {
- element: this.element,
- classes: this.options.classes || {}
- }, options );
-
- function processClassString( classes, checkOption ) {
- var current, i;
- for ( i = 0; i < classes.length; i++ ) {
- current = that.classesElementLookup[ classes[ i ] ] || $();
- if ( options.add ) {
- current = $( $.unique( current.get().concat( options.element.get() ) ) );
- } else {
- current = $( current.not( options.element ).get() );
- }
- that.classesElementLookup[ classes[ i ] ] = current;
- full.push( classes[ i ] );
- if ( checkOption && options.classes[ classes[ i ] ] ) {
- full.push( options.classes[ classes[ i ] ] );
- }
- }
- }
-
- this._on( options.element, {
- "remove": "_untrackClassesElement"
- } );
-
- if ( options.keys ) {
- processClassString( options.keys.match( /\S+/g ) || [], true );
- }
- if ( options.extra ) {
- processClassString( options.extra.match( /\S+/g ) || [] );
- }
-
- return full.join( " " );
- },
-
- _untrackClassesElement: function( event ) {
- var that = this;
- $.each( that.classesElementLookup, function( key, value ) {
- if ( $.inArray( event.target, value ) !== -1 ) {
- that.classesElementLookup[ key ] = $( value.not( event.target ).get() );
- }
- } );
- },
-
- _removeClass: function( element, keys, extra ) {
- return this._toggleClass( element, keys, extra, false );
- },
-
- _addClass: function( element, keys, extra ) {
- return this._toggleClass( element, keys, extra, true );
- },
-
- _toggleClass: function( element, keys, extra, add ) {
- add = ( typeof add === "boolean" ) ? add : extra;
- var shift = ( typeof element === "string" || element === null ),
- options = {
- extra: shift ? keys : extra,
- keys: shift ? element : keys,
- element: shift ? this.element : element,
- add: add
- };
- options.element.toggleClass( this._classes( options ), add );
- return this;
- },
-
- _on: function( suppressDisabledCheck, element, handlers ) {
- var delegateElement;
- var instance = this;
-
- // No suppressDisabledCheck flag, shuffle arguments
- if ( typeof suppressDisabledCheck !== "boolean" ) {
- handlers = element;
- element = suppressDisabledCheck;
- suppressDisabledCheck = false;
- }
-
- // No element argument, shuffle and use this.element
- if ( !handlers ) {
- handlers = element;
- element = this.element;
- delegateElement = this.widget();
- } else {
- element = delegateElement = $( element );
- this.bindings = this.bindings.add( element );
- }
-
- $.each( handlers, function( event, handler ) {
- function handlerProxy() {
-
- // Allow widgets to customize the disabled handling
- // - disabled as an array instead of boolean
- // - disabled class as method for disabling individual parts
- if ( !suppressDisabledCheck &&
- ( instance.options.disabled === true ||
- $( this ).hasClass( "ui-state-disabled" ) ) ) {
- return;
- }
- return ( typeof handler === "string" ? instance[ handler ] : handler )
- .apply( instance, arguments );
- }
-
- // Copy the guid so direct unbinding works
- if ( typeof handler !== "string" ) {
- handlerProxy.guid = handler.guid =
- handler.guid || handlerProxy.guid || $.guid++;
- }
-
- var match = event.match( /^([\w:-]*)\s*(.*)$/ );
- var eventName = match[ 1 ] + instance.eventNamespace;
- var selector = match[ 2 ];
-
- if ( selector ) {
- delegateElement.on( eventName, selector, handlerProxy );
- } else {
- element.on( eventName, handlerProxy );
- }
- } );
- },
-
- _off: function( element, eventName ) {
- eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) +
- this.eventNamespace;
- element.off( eventName ).off( eventName );
-
- // Clear the stack to avoid memory leaks (#10056)
- this.bindings = $( this.bindings.not( element ).get() );
- this.focusable = $( this.focusable.not( element ).get() );
- this.hoverable = $( this.hoverable.not( element ).get() );
- },
-
- _delay: function( handler, delay ) {
- function handlerProxy() {
- return ( typeof handler === "string" ? instance[ handler ] : handler )
- .apply( instance, arguments );
- }
- var instance = this;
- return setTimeout( handlerProxy, delay || 0 );
- },
-
- _hoverable: function( element ) {
- this.hoverable = this.hoverable.add( element );
- this._on( element, {
- mouseenter: function( event ) {
- this._addClass( $( event.currentTarget ), null, "ui-state-hover" );
- },
- mouseleave: function( event ) {
- this._removeClass( $( event.currentTarget ), null, "ui-state-hover" );
- }
- } );
- },
-
- _focusable: function( element ) {
- this.focusable = this.focusable.add( element );
- this._on( element, {
- focusin: function( event ) {
- this._addClass( $( event.currentTarget ), null, "ui-state-focus" );
- },
- focusout: function( event ) {
- this._removeClass( $( event.currentTarget ), null, "ui-state-focus" );
- }
- } );
- },
-
- _trigger: function( type, event, data ) {
- var prop, orig;
- var callback = this.options[ type ];
-
- data = data || {};
- event = $.Event( event );
- event.type = ( type === this.widgetEventPrefix ?
- type :
- this.widgetEventPrefix + type ).toLowerCase();
-
- // The original event may come from any element
- // so we need to reset the target on the new event
- event.target = this.element[ 0 ];
-
- // Copy original event properties over to the new event
- orig = event.originalEvent;
- if ( orig ) {
- for ( prop in orig ) {
- if ( !( prop in event ) ) {
- event[ prop ] = orig[ prop ];
- }
- }
- }
-
- this.element.trigger( event, data );
- return !( $.isFunction( callback ) &&
- callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false ||
- event.isDefaultPrevented() );
- }
-};
-
-$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) {
- $.Widget.prototype[ "_" + method ] = function( element, options, callback ) {
- if ( typeof options === "string" ) {
- options = { effect: options };
- }
-
- var hasOptions;
- var effectName = !options ?
- method :
- options === true || typeof options === "number" ?
- defaultEffect :
- options.effect || defaultEffect;
-
- options = options || {};
- if ( typeof options === "number" ) {
- options = { duration: options };
- }
-
- hasOptions = !$.isEmptyObject( options );
- options.complete = callback;
-
- if ( options.delay ) {
- element.delay( options.delay );
- }
-
- if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) {
- element[ method ]( options );
- } else if ( effectName !== method && element[ effectName ] ) {
- element[ effectName ]( options.duration, options.easing, callback );
- } else {
- element.queue( function( next ) {
- $( this )[ method ]();
- if ( callback ) {
- callback.call( element[ 0 ] );
- }
- next();
- } );
- }
- };
-} );
-
-var widget = $.widget;
-
-
-/*!
- * jQuery UI :data 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- */
-
-//>>label: :data Selector
-//>>group: Core
-//>>description: Selects elements which have data stored under the specified key.
-//>>docs: http://api.jqueryui.com/data-selector/
-
-
-var data = $.extend( $.expr[ ":" ], {
- data: $.expr.createPseudo ?
- $.expr.createPseudo( function( dataName ) {
- return function( elem ) {
- return !!$.data( elem, dataName );
- };
- } ) :
-
- // Support: jQuery <1.8
- function( elem, i, match ) {
- return !!$.data( elem, match[ 3 ] );
- }
-} );
-
-/*!
- * jQuery UI Disable Selection 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- */
-
-//>>label: disableSelection
-//>>group: Core
-//>>description: Disable selection of text content within the set of matched elements.
-//>>docs: http://api.jqueryui.com/disableSelection/
-
-// This file is deprecated
-
-
-var disableSelection = $.fn.extend( {
- disableSelection: ( function() {
- var eventType = "onselectstart" in document.createElement( "div" ) ?
- "selectstart" :
- "mousedown";
-
- return function() {
- return this.on( eventType + ".ui-disableSelection", function( event ) {
- event.preventDefault();
- } );
- };
- } )(),
-
- enableSelection: function() {
- return this.off( ".ui-disableSelection" );
- }
-} );
-
-
-/*!
- * jQuery UI Scroll Parent 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- */
-
-//>>label: scrollParent
-//>>group: Core
-//>>description: Get the closest ancestor element that is scrollable.
-//>>docs: http://api.jqueryui.com/scrollParent/
-
-
-
-var scrollParent = $.fn.scrollParent = function( includeHidden ) {
- var position = this.css( "position" ),
- excludeStaticParent = position === "absolute",
- overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
- scrollParent = this.parents().filter( function() {
- var parent = $( this );
- if ( excludeStaticParent && parent.css( "position" ) === "static" ) {
- return false;
- }
- return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) +
- parent.css( "overflow-x" ) );
- } ).eq( 0 );
-
- return position === "fixed" || !scrollParent.length ?
- $( this[ 0 ].ownerDocument || document ) :
- scrollParent;
-};
-
-
-
-
-// This file is deprecated
-var ie = $.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() );
-
-/*!
- * jQuery UI Mouse 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- */
-
-//>>label: Mouse
-//>>group: Widgets
-//>>description: Abstracts mouse-based interactions to assist in creating certain widgets.
-//>>docs: http://api.jqueryui.com/mouse/
-
-
-
-var mouseHandled = false;
-$( document ).on( "mouseup", function() {
- mouseHandled = false;
-} );
-
-var widgetsMouse = $.widget( "ui.mouse", {
- version: "1.12.1",
- options: {
- cancel: "input, textarea, button, select, option",
- distance: 1,
- delay: 0
- },
- _mouseInit: function() {
- var that = this;
-
- this.element
- .on( "mousedown." + this.widgetName, function( event ) {
- return that._mouseDown( event );
- } )
- .on( "click." + this.widgetName, function( event ) {
- if ( true === $.data( event.target, that.widgetName + ".preventClickEvent" ) ) {
- $.removeData( event.target, that.widgetName + ".preventClickEvent" );
- event.stopImmediatePropagation();
- return false;
- }
- } );
-
- this.started = false;
- },
-
- // TODO: make sure destroying one instance of mouse doesn't mess with
- // other instances of mouse
- _mouseDestroy: function() {
- this.element.off( "." + this.widgetName );
- if ( this._mouseMoveDelegate ) {
- this.document
- .off( "mousemove." + this.widgetName, this._mouseMoveDelegate )
- .off( "mouseup." + this.widgetName, this._mouseUpDelegate );
- }
- },
-
- _mouseDown: function( event ) {
-
- // don't let more than one widget handle mouseStart
- if ( mouseHandled ) {
- return;
- }
-
- this._mouseMoved = false;
-
- // We may have missed mouseup (out of window)
- ( this._mouseStarted && this._mouseUp( event ) );
-
- this._mouseDownEvent = event;
-
- var that = this,
- btnIsLeft = ( event.which === 1 ),
-
- // event.target.nodeName works around a bug in IE 8 with
- // disabled inputs (#7620)
- elIsCancel = ( typeof this.options.cancel === "string" && event.target.nodeName ?
- $( event.target ).closest( this.options.cancel ).length : false );
- if ( !btnIsLeft || elIsCancel || !this._mouseCapture( event ) ) {
- return true;
- }
-
- this.mouseDelayMet = !this.options.delay;
- if ( !this.mouseDelayMet ) {
- this._mouseDelayTimer = setTimeout( function() {
- that.mouseDelayMet = true;
- }, this.options.delay );
- }
-
- if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {
- this._mouseStarted = ( this._mouseStart( event ) !== false );
- if ( !this._mouseStarted ) {
- event.preventDefault();
- return true;
- }
- }
-
- // Click event may never have fired (Gecko & Opera)
- if ( true === $.data( event.target, this.widgetName + ".preventClickEvent" ) ) {
- $.removeData( event.target, this.widgetName + ".preventClickEvent" );
- }
-
- // These delegates are required to keep context
- this._mouseMoveDelegate = function( event ) {
- return that._mouseMove( event );
- };
- this._mouseUpDelegate = function( event ) {
- return that._mouseUp( event );
- };
-
- this.document
- .on( "mousemove." + this.widgetName, this._mouseMoveDelegate )
- .on( "mouseup." + this.widgetName, this._mouseUpDelegate );
-
- event.preventDefault();
-
- mouseHandled = true;
- return true;
- },
-
- _mouseMove: function( event ) {
-
- // Only check for mouseups outside the document if you've moved inside the document
- // at least once. This prevents the firing of mouseup in the case of IE<9, which will
- // fire a mousemove event if content is placed under the cursor. See #7778
- // Support: IE <9
- if ( this._mouseMoved ) {
-
- // IE mouseup check - mouseup happened when mouse was out of window
- if ( $.ui.ie && ( !document.documentMode || document.documentMode < 9 ) &&
- !event.button ) {
- return this._mouseUp( event );
-
- // Iframe mouseup check - mouseup occurred in another document
- } else if ( !event.which ) {
-
- // Support: Safari <=8 - 9
- // Safari sets which to 0 if you press any of the following keys
- // during a drag (#14461)
- if ( event.originalEvent.altKey || event.originalEvent.ctrlKey ||
- event.originalEvent.metaKey || event.originalEvent.shiftKey ) {
- this.ignoreMissingWhich = true;
- } else if ( !this.ignoreMissingWhich ) {
- return this._mouseUp( event );
- }
- }
- }
-
- if ( event.which || event.button ) {
- this._mouseMoved = true;
- }
-
- if ( this._mouseStarted ) {
- this._mouseDrag( event );
- return event.preventDefault();
- }
-
- if ( this._mouseDistanceMet( event ) && this._mouseDelayMet( event ) ) {
- this._mouseStarted =
- ( this._mouseStart( this._mouseDownEvent, event ) !== false );
- ( this._mouseStarted ? this._mouseDrag( event ) : this._mouseUp( event ) );
- }
-
- return !this._mouseStarted;
- },
-
- _mouseUp: function( event ) {
- this.document
- .off( "mousemove." + this.widgetName, this._mouseMoveDelegate )
- .off( "mouseup." + this.widgetName, this._mouseUpDelegate );
-
- if ( this._mouseStarted ) {
- this._mouseStarted = false;
-
- if ( event.target === this._mouseDownEvent.target ) {
- $.data( event.target, this.widgetName + ".preventClickEvent", true );
- }
-
- this._mouseStop( event );
- }
-
- if ( this._mouseDelayTimer ) {
- clearTimeout( this._mouseDelayTimer );
- delete this._mouseDelayTimer;
- }
-
- this.ignoreMissingWhich = false;
- mouseHandled = false;
- event.preventDefault();
- },
-
- _mouseDistanceMet: function( event ) {
- return ( Math.max(
- Math.abs( this._mouseDownEvent.pageX - event.pageX ),
- Math.abs( this._mouseDownEvent.pageY - event.pageY )
- ) >= this.options.distance
- );
- },
-
- _mouseDelayMet: function( /* event */ ) {
- return this.mouseDelayMet;
- },
-
- // These are placeholder methods, to be overriden by extending plugin
- _mouseStart: function( /* event */ ) {},
- _mouseDrag: function( /* event */ ) {},
- _mouseStop: function( /* event */ ) {},
- _mouseCapture: function( /* event */ ) { return true; }
-} );
-
-
-
-
-// $.ui.plugin is deprecated. Use $.widget() extensions instead.
-var plugin = $.ui.plugin = {
- add: function( module, option, set ) {
- var i,
- proto = $.ui[ module ].prototype;
- for ( i in set ) {
- proto.plugins[ i ] = proto.plugins[ i ] || [];
- proto.plugins[ i ].push( [ option, set[ i ] ] );
- }
- },
- call: function( instance, name, args, allowDisconnected ) {
- var i,
- set = instance.plugins[ name ];
-
- if ( !set ) {
- return;
- }
-
- if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode ||
- instance.element[ 0 ].parentNode.nodeType === 11 ) ) {
- return;
- }
-
- for ( i = 0; i < set.length; i++ ) {
- if ( instance.options[ set[ i ][ 0 ] ] ) {
- set[ i ][ 1 ].apply( instance.element, args );
- }
- }
- }
-};
-
-
-
-var safeActiveElement = $.ui.safeActiveElement = function( document ) {
- var activeElement;
-
- // Support: IE 9 only
- // IE9 throws an "Unspecified error" accessing document.activeElement from an <iframe>
- try {
- activeElement = document.activeElement;
- } catch ( error ) {
- activeElement = document.body;
- }
-
- // Support: IE 9 - 11 only
- // IE may return null instead of an element
- // Interestingly, this only seems to occur when NOT in an iframe
- if ( !activeElement ) {
- activeElement = document.body;
- }
-
- // Support: IE 11 only
- // IE11 returns a seemingly empty object in some cases when accessing
- // document.activeElement from an <iframe>
- if ( !activeElement.nodeName ) {
- activeElement = document.body;
- }
-
- return activeElement;
-};
-
-
-
-var safeBlur = $.ui.safeBlur = function( element ) {
-
- // Support: IE9 - 10 only
- // If the <body> is blurred, IE will switch windows, see #9420
- if ( element && element.nodeName.toLowerCase() !== "body" ) {
- $( element ).trigger( "blur" );
- }
-};
-
-
-/*!
- * jQuery UI Draggable 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- */
-
-//>>label: Draggable
-//>>group: Interactions
-//>>description: Enables dragging functionality for any element.
-//>>docs: http://api.jqueryui.com/draggable/
-//>>demos: http://jqueryui.com/draggable/
-//>>css.structure: ../../themes/base/draggable.css
-
-
-
-$.widget( "ui.draggable", $.ui.mouse, {
- version: "1.12.1",
- widgetEventPrefix: "drag",
- options: {
- addClasses: true,
- appendTo: "parent",
- axis: false,
- connectToSortable: false,
- containment: false,
- cursor: "auto",
- cursorAt: false,
- grid: false,
- handle: false,
- helper: "original",
- iframeFix: false,
- opacity: false,
- refreshPositions: false,
- revert: false,
- revertDuration: 500,
- scope: "default",
- scroll: true,
- scrollSensitivity: 20,
- scrollSpeed: 20,
- snap: false,
- snapMode: "both",
- snapTolerance: 20,
- stack: false,
- zIndex: false,
-
- // Callbacks
- drag: null,
- start: null,
- stop: null
- },
- _create: function() {
-
- if ( this.options.helper === "original" ) {
- this._setPositionRelative();
- }
- if ( this.options.addClasses ) {
- this._addClass( "ui-draggable" );
- }
- this._setHandleClassName();
-
- this._mouseInit();
- },
-
- _setOption: function( key, value ) {
- this._super( key, value );
- if ( key === "handle" ) {
- this._removeHandleClassName();
- this._setHandleClassName();
- }
- },
-
- _destroy: function() {
- if ( ( this.helper || this.element ).is( ".ui-draggable-dragging" ) ) {
- this.destroyOnClear = true;
- return;
- }
- this._removeHandleClassName();
- this._mouseDestroy();
- },
-
- _mouseCapture: function( event ) {
- var o = this.options;
-
- // Among others, prevent a drag on a resizable-handle
- if ( this.helper || o.disabled ||
- $( event.target ).closest( ".ui-resizable-handle" ).length > 0 ) {
- return false;
- }
-
- //Quit if we're not on a valid handle
- this.handle = this._getHandle( event );
- if ( !this.handle ) {
- return false;
- }
-
- this._blurActiveElement( event );
-
- this._blockFrames( o.iframeFix === true ? "iframe" : o.iframeFix );
-
- return true;
-
- },
-
- _blockFrames: function( selector ) {
- this.iframeBlocks = this.document.find( selector ).map( function() {
- var iframe = $( this );
-
- return $( "<div>" )
- .css( "position", "absolute" )
- .appendTo( iframe.parent() )
- .outerWidth( iframe.outerWidth() )
- .outerHeight( iframe.outerHeight() )
- .offset( iframe.offset() )[ 0 ];
- } );
- },
-
- _unblockFrames: function() {
- if ( this.iframeBlocks ) {
- this.iframeBlocks.remove();
- delete this.iframeBlocks;
- }
- },
-
- _blurActiveElement: function( event ) {
- var activeElement = $.ui.safeActiveElement( this.document[ 0 ] ),
- target = $( event.target );
-
- // Don't blur if the event occurred on an element that is within
- // the currently focused element
- // See #10527, #12472
- if ( target.closest( activeElement ).length ) {
- return;
- }
-
- // Blur any element that currently has focus, see #4261
- $.ui.safeBlur( activeElement );
- },
-
- _mouseStart: function( event ) {
-
- var o = this.options;
-
- //Create and append the visible helper
- this.helper = this._createHelper( event );
-
- this._addClass( this.helper, "ui-draggable-dragging" );
-
- //Cache the helper size
- this._cacheHelperProportions();
-
- //If ddmanager is used for droppables, set the global draggable
- if ( $.ui.ddmanager ) {
- $.ui.ddmanager.current = this;
- }
-
- /*
- * - Position generation -
- * This block generates everything position related - it's the core of draggables.
- */
-
- //Cache the margins of the original element
- this._cacheMargins();
-
- //Store the helper's css position
- this.cssPosition = this.helper.css( "position" );
- this.scrollParent = this.helper.scrollParent( true );
- this.offsetParent = this.helper.offsetParent();
- this.hasFixedAncestor = this.helper.parents().filter( function() {
- return $( this ).css( "position" ) === "fixed";
- } ).length > 0;
-
- //The element's absolute position on the page minus margins
- this.positionAbs = this.element.offset();
- this._refreshOffsets( event );
-
- //Generate the original position
- this.originalPosition = this.position = this._generatePosition( event, false );
- this.originalPageX = event.pageX;
- this.originalPageY = event.pageY;
-
- //Adjust the mouse offset relative to the helper if "cursorAt" is supplied
- ( o.cursorAt && this._adjustOffsetFromHelper( o.cursorAt ) );
-
- //Set a containment if given in the options
- this._setContainment();
-
- //Trigger event + callbacks
- if ( this._trigger( "start", event ) === false ) {
- this._clear();
- return false;
- }
-
- //Recache the helper size
- this._cacheHelperProportions();
-
- //Prepare the droppable offsets
- if ( $.ui.ddmanager && !o.dropBehaviour ) {
- $.ui.ddmanager.prepareOffsets( this, event );
- }
-
- // Execute the drag once - this causes the helper not to be visible before getting its
- // correct position
- this._mouseDrag( event, true );
-
- // If the ddmanager is used for droppables, inform the manager that dragging has started
- // (see #5003)
- if ( $.ui.ddmanager ) {
- $.ui.ddmanager.dragStart( this, event );
- }
-
- return true;
- },
-
- _refreshOffsets: function( event ) {
- this.offset = {
- top: this.positionAbs.top - this.margins.top,
- left: this.positionAbs.left - this.margins.left,
- scroll: false,
- parent: this._getParentOffset(),
- relative: this._getRelativeOffset()
- };
-
- this.offset.click = {
- left: event.pageX - this.offset.left,
- top: event.pageY - this.offset.top
- };
- },
-
- _mouseDrag: function( event, noPropagation ) {
-
- // reset any necessary cached properties (see #5009)
- if ( this.hasFixedAncestor ) {
- this.offset.parent = this._getParentOffset();
- }
-
- //Compute the helpers position
- this.position = this._generatePosition( event, true );
- this.positionAbs = this._convertPositionTo( "absolute" );
-
- //Call plugins and callbacks and use the resulting position if something is returned
- if ( !noPropagation ) {
- var ui = this._uiHash();
- if ( this._trigger( "drag", event, ui ) === false ) {
- this._mouseUp( new $.Event( "mouseup", event ) );
- return false;
- }
- this.position = ui.position;
- }
-
- this.helper[ 0 ].style.left = this.position.left + "px";
- this.helper[ 0 ].style.top = this.position.top + "px";
-
- if ( $.ui.ddmanager ) {
- $.ui.ddmanager.drag( this, event );
- }
-
- return false;
- },
-
- _mouseStop: function( event ) {
-
- //If we are using droppables, inform the manager about the drop
- var that = this,
- dropped = false;
- if ( $.ui.ddmanager && !this.options.dropBehaviour ) {
- dropped = $.ui.ddmanager.drop( this, event );
- }
-
- //if a drop comes from outside (a sortable)
- if ( this.dropped ) {
- dropped = this.dropped;
- this.dropped = false;
- }
-
- if ( ( this.options.revert === "invalid" && !dropped ) ||
- ( this.options.revert === "valid" && dropped ) ||
- this.options.revert === true || ( $.isFunction( this.options.revert ) &&
- this.options.revert.call( this.element, dropped ) )
- ) {
- $( this.helper ).animate(
- this.originalPosition,
- parseInt( this.options.revertDuration, 10 ),
- function() {
- if ( that._trigger( "stop", event ) !== false ) {
- that._clear();
- }
- }
- );
- } else {
- if ( this._trigger( "stop", event ) !== false ) {
- this._clear();
- }
- }
-
- return false;
- },
-
- _mouseUp: function( event ) {
- this._unblockFrames();
-
- // If the ddmanager is used for droppables, inform the manager that dragging has stopped
- // (see #5003)
- if ( $.ui.ddmanager ) {
- $.ui.ddmanager.dragStop( this, event );
- }
-
- // Only need to focus if the event occurred on the draggable itself, see #10527
- if ( this.handleElement.is( event.target ) ) {
-
- // The interaction is over; whether or not the click resulted in a drag,
- // focus the element
- this.element.trigger( "focus" );
- }
-
- return $.ui.mouse.prototype._mouseUp.call( this, event );
- },
-
- cancel: function() {
-
- if ( this.helper.is( ".ui-draggable-dragging" ) ) {
- this._mouseUp( new $.Event( "mouseup", { target: this.element[ 0 ] } ) );
- } else {
- this._clear();
- }
-
- return this;
-
- },
-
- _getHandle: function( event ) {
- return this.options.handle ?
- !!$( event.target ).closest( this.element.find( this.options.handle ) ).length :
- true;
- },
-
- _setHandleClassName: function() {
- this.handleElement = this.options.handle ?
- this.element.find( this.options.handle ) : this.element;
- this._addClass( this.handleElement, "ui-draggable-handle" );
- },
-
- _removeHandleClassName: function() {
- this._removeClass( this.handleElement, "ui-draggable-handle" );
- },
-
- _createHelper: function( event ) {
-
- var o = this.options,
- helperIsFunction = $.isFunction( o.helper ),
- helper = helperIsFunction ?
- $( o.helper.apply( this.element[ 0 ], [ event ] ) ) :
- ( o.helper === "clone" ?
- this.element.clone().removeAttr( "id" ) :
- this.element );
-
- if ( !helper.parents( "body" ).length ) {
- helper.appendTo( ( o.appendTo === "parent" ?
- this.element[ 0 ].parentNode :
- o.appendTo ) );
- }
-
- // Http://bugs.jqueryui.com/ticket/9446
- // a helper function can return the original element
- // which wouldn't have been set to relative in _create
- if ( helperIsFunction && helper[ 0 ] === this.element[ 0 ] ) {
- this._setPositionRelative();
- }
-
- if ( helper[ 0 ] !== this.element[ 0 ] &&
- !( /(fixed|absolute)/ ).test( helper.css( "position" ) ) ) {
- helper.css( "position", "absolute" );
- }
-
- return helper;
-
- },
-
- _setPositionRelative: function() {
- if ( !( /^(?:r|a|f)/ ).test( this.element.css( "position" ) ) ) {
- this.element[ 0 ].style.position = "relative";
- }
- },
-
- _adjustOffsetFromHelper: function( obj ) {
- if ( typeof obj === "string" ) {
- obj = obj.split( " " );
- }
- if ( $.isArray( obj ) ) {
- obj = { left: +obj[ 0 ], top: +obj[ 1 ] || 0 };
- }
- if ( "left" in obj ) {
- this.offset.click.left = obj.left + this.margins.left;
- }
- if ( "right" in obj ) {
- this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left;
- }
- if ( "top" in obj ) {
- this.offset.click.top = obj.top + this.margins.top;
- }
- if ( "bottom" in obj ) {
- this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top;
- }
- },
-
- _isRootNode: function( element ) {
- return ( /(html|body)/i ).test( element.tagName ) || element === this.document[ 0 ];
- },
-
- _getParentOffset: function() {
-
- //Get the offsetParent and cache its position
- var po = this.offsetParent.offset(),
- document = this.document[ 0 ];
-
- // This is a special case where we need to modify a offset calculated on start, since the
- // following happened:
- // 1. The position of the helper is absolute, so it's position is calculated based on the
- // next positioned parent
- // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't
- // the document, which means that the scroll is included in the initial calculation of the
- // offset of the parent, and never recalculated upon drag
- if ( this.cssPosition === "absolute" && this.scrollParent[ 0 ] !== document &&
- $.contains( this.scrollParent[ 0 ], this.offsetParent[ 0 ] ) ) {
- po.left += this.scrollParent.scrollLeft();
- po.top += this.scrollParent.scrollTop();
- }
-
- if ( this._isRootNode( this.offsetParent[ 0 ] ) ) {
- po = { top: 0, left: 0 };
- }
-
- return {
- top: po.top + ( parseInt( this.offsetParent.css( "borderTopWidth" ), 10 ) || 0 ),
- left: po.left + ( parseInt( this.offsetParent.css( "borderLeftWidth" ), 10 ) || 0 )
- };
-
- },
-
- _getRelativeOffset: function() {
- if ( this.cssPosition !== "relative" ) {
- return { top: 0, left: 0 };
- }
-
- var p = this.element.position(),
- scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );
-
- return {
- top: p.top - ( parseInt( this.helper.css( "top" ), 10 ) || 0 ) +
- ( !scrollIsRootNode ? this.scrollParent.scrollTop() : 0 ),
- left: p.left - ( parseInt( this.helper.css( "left" ), 10 ) || 0 ) +
- ( !scrollIsRootNode ? this.scrollParent.scrollLeft() : 0 )
- };
-
- },
-
- _cacheMargins: function() {
- this.margins = {
- left: ( parseInt( this.element.css( "marginLeft" ), 10 ) || 0 ),
- top: ( parseInt( this.element.css( "marginTop" ), 10 ) || 0 ),
- right: ( parseInt( this.element.css( "marginRight" ), 10 ) || 0 ),
- bottom: ( parseInt( this.element.css( "marginBottom" ), 10 ) || 0 )
- };
- },
-
- _cacheHelperProportions: function() {
- this.helperProportions = {
- width: this.helper.outerWidth(),
- height: this.helper.outerHeight()
- };
- },
-
- _setContainment: function() {
-
- var isUserScrollable, c, ce,
- o = this.options,
- document = this.document[ 0 ];
-
- this.relativeContainer = null;
-
- if ( !o.containment ) {
- this.containment = null;
- return;
- }
-
- if ( o.containment === "window" ) {
- this.containment = [
- $( window ).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
- $( window ).scrollTop() - this.offset.relative.top - this.offset.parent.top,
- $( window ).scrollLeft() + $( window ).width() -
- this.helperProportions.width - this.margins.left,
- $( window ).scrollTop() +
- ( $( window ).height() || document.body.parentNode.scrollHeight ) -
- this.helperProportions.height - this.margins.top
- ];
- return;
- }
-
- if ( o.containment === "document" ) {
- this.containment = [
- 0,
- 0,
- $( document ).width() - this.helperProportions.width - this.margins.left,
- ( $( document ).height() || document.body.parentNode.scrollHeight ) -
- this.helperProportions.height - this.margins.top
- ];
- return;
- }
-
- if ( o.containment.constructor === Array ) {
- this.containment = o.containment;
- return;
- }
-
- if ( o.containment === "parent" ) {
- o.containment = this.helper[ 0 ].parentNode;
- }
-
- c = $( o.containment );
- ce = c[ 0 ];
-
- if ( !ce ) {
- return;
- }
-
- isUserScrollable = /(scroll|auto)/.test( c.css( "overflow" ) );
-
- this.containment = [
- ( parseInt( c.css( "borderLeftWidth" ), 10 ) || 0 ) +
- ( parseInt( c.css( "paddingLeft" ), 10 ) || 0 ),
- ( parseInt( c.css( "borderTopWidth" ), 10 ) || 0 ) +
- ( parseInt( c.css( "paddingTop" ), 10 ) || 0 ),
- ( isUserScrollable ? Math.max( ce.scrollWidth, ce.offsetWidth ) : ce.offsetWidth ) -
- ( parseInt( c.css( "borderRightWidth" ), 10 ) || 0 ) -
- ( parseInt( c.css( "paddingRight" ), 10 ) || 0 ) -
- this.helperProportions.width -
- this.margins.left -
- this.margins.right,
- ( isUserScrollable ? Math.max( ce.scrollHeight, ce.offsetHeight ) : ce.offsetHeight ) -
- ( parseInt( c.css( "borderBottomWidth" ), 10 ) || 0 ) -
- ( parseInt( c.css( "paddingBottom" ), 10 ) || 0 ) -
- this.helperProportions.height -
- this.margins.top -
- this.margins.bottom
- ];
- this.relativeContainer = c;
- },
-
- _convertPositionTo: function( d, pos ) {
-
- if ( !pos ) {
- pos = this.position;
- }
-
- var mod = d === "absolute" ? 1 : -1,
- scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] );
-
- return {
- top: (
-
- // The absolute mouse position
- pos.top +
-
- // Only for relative positioned nodes: Relative offset from element to offset parent
- this.offset.relative.top * mod +
-
- // The offsetParent's offset without borders (offset + border)
- this.offset.parent.top * mod -
- ( ( this.cssPosition === "fixed" ?
- -this.offset.scroll.top :
- ( scrollIsRootNode ? 0 : this.offset.scroll.top ) ) * mod )
- ),
- left: (
-
- // The absolute mouse position
- pos.left +
-
- // Only for relative positioned nodes: Relative offset from element to offset parent
- this.offset.relative.left * mod +
-
- // The offsetParent's offset without borders (offset + border)
- this.offset.parent.left * mod -
- ( ( this.cssPosition === "fixed" ?
- -this.offset.scroll.left :
- ( scrollIsRootNode ? 0 : this.offset.scroll.left ) ) * mod )
- )
- };
-
- },
-
- _generatePosition: function( event, constrainPosition ) {
-
- var containment, co, top, left,
- o = this.options,
- scrollIsRootNode = this._isRootNode( this.scrollParent[ 0 ] ),
- pageX = event.pageX,
- pageY = event.pageY;
-
- // Cache the scroll
- if ( !scrollIsRootNode || !this.offset.scroll ) {
- this.offset.scroll = {
- top: this.scrollParent.scrollTop(),
- left: this.scrollParent.scrollLeft()
- };
- }
-
- /*
- * - Position constraining -
- * Constrain the position to a mix of grid, containment.
- */
-
- // If we are not dragging yet, we won't check for options
- if ( constrainPosition ) {
- if ( this.containment ) {
- if ( this.relativeContainer ) {
- co = this.relativeContainer.offset();
- containment = [
- this.containment[ 0 ] + co.left,
- this.containment[ 1 ] + co.top,
- this.containment[ 2 ] + co.left,
- this.containment[ 3 ] + co.top
- ];
- } else {
- containment = this.containment;
- }
-
- if ( event.pageX - this.offset.click.left < containment[ 0 ] ) {
- pageX = containment[ 0 ] + this.offset.click.left;
- }
- if ( event.pageY - this.offset.click.top < containment[ 1 ] ) {
- pageY = containment[ 1 ] + this.offset.click.top;
- }
- if ( event.pageX - this.offset.click.left > containment[ 2 ] ) {
- pageX = containment[ 2 ] + this.offset.click.left;
- }
- if ( event.pageY - this.offset.click.top > containment[ 3 ] ) {
- pageY = containment[ 3 ] + this.offset.click.top;
- }
- }
-
- if ( o.grid ) {
-
- //Check for grid elements set to 0 to prevent divide by 0 error causing invalid
- // argument errors in IE (see ticket #6950)
- top = o.grid[ 1 ] ? this.originalPageY + Math.round( ( pageY -
- this.originalPageY ) / o.grid[ 1 ] ) * o.grid[ 1 ] : this.originalPageY;
- pageY = containment ? ( ( top - this.offset.click.top >= containment[ 1 ] ||
- top - this.offset.click.top > containment[ 3 ] ) ?
- top :
- ( ( top - this.offset.click.top >= containment[ 1 ] ) ?
- top - o.grid[ 1 ] : top + o.grid[ 1 ] ) ) : top;
-
- left = o.grid[ 0 ] ? this.originalPageX +
- Math.round( ( pageX - this.originalPageX ) / o.grid[ 0 ] ) * o.grid[ 0 ] :
- this.originalPageX;
- pageX = containment ? ( ( left - this.offset.click.left >= containment[ 0 ] ||
- left - this.offset.click.left > containment[ 2 ] ) ?
- left :
- ( ( left - this.offset.click.left >= containment[ 0 ] ) ?
- left - o.grid[ 0 ] : left + o.grid[ 0 ] ) ) : left;
- }
-
- if ( o.axis === "y" ) {
- pageX = this.originalPageX;
- }
-
- if ( o.axis === "x" ) {
- pageY = this.originalPageY;
- }
- }
-
- return {
- top: (
-
- // The absolute mouse position
- pageY -
-
- // Click offset (relative to the element)
- this.offset.click.top -
-
- // Only for relative positioned nodes: Relative offset from element to offset parent
- this.offset.relative.top -
-
- // The offsetParent's offset without borders (offset + border)
- this.offset.parent.top +
- ( this.cssPosition === "fixed" ?
- -this.offset.scroll.top :
- ( scrollIsRootNode ? 0 : this.offset.scroll.top ) )
- ),
- left: (
-
- // The absolute mouse position
- pageX -
-
- // Click offset (relative to the element)
- this.offset.click.left -
-
- // Only for relative positioned nodes: Relative offset from element to offset parent
- this.offset.relative.left -
-
- // The offsetParent's offset without borders (offset + border)
- this.offset.parent.left +
- ( this.cssPosition === "fixed" ?
- -this.offset.scroll.left :
- ( scrollIsRootNode ? 0 : this.offset.scroll.left ) )
- )
- };
-
- },
-
- _clear: function() {
- this._removeClass( this.helper, "ui-draggable-dragging" );
- if ( this.helper[ 0 ] !== this.element[ 0 ] && !this.cancelHelperRemoval ) {
- this.helper.remove();
- }
- this.helper = null;
- this.cancelHelperRemoval = false;
- if ( this.destroyOnClear ) {
- this.destroy();
- }
- },
-
- // From now on bulk stuff - mainly helpers
-
- _trigger: function( type, event, ui ) {
- ui = ui || this._uiHash();
- $.ui.plugin.call( this, type, [ event, ui, this ], true );
-
- // Absolute position and offset (see #6884 ) have to be recalculated after plugins
- if ( /^(drag|start|stop)/.test( type ) ) {
- this.positionAbs = this._convertPositionTo( "absolute" );
- ui.offset = this.positionAbs;
- }
- return $.Widget.prototype._trigger.call( this, type, event, ui );
- },
-
- plugins: {},
-
- _uiHash: function() {
- return {
- helper: this.helper,
- position: this.position,
- originalPosition: this.originalPosition,
- offset: this.positionAbs
- };
- }
-
-} );
-
-$.ui.plugin.add( "draggable", "connectToSortable", {
- start: function( event, ui, draggable ) {
- var uiSortable = $.extend( {}, ui, {
- item: draggable.element
- } );
-
- draggable.sortables = [];
- $( draggable.options.connectToSortable ).each( function() {
- var sortable = $( this ).sortable( "instance" );
-
- if ( sortable && !sortable.options.disabled ) {
- draggable.sortables.push( sortable );
-
- // RefreshPositions is called at drag start to refresh the containerCache
- // which is used in drag. This ensures it's initialized and synchronized
- // with any changes that might have happened on the page since initialization.
- sortable.refreshPositions();
- sortable._trigger( "activate", event, uiSortable );
- }
- } );
- },
- stop: function( event, ui, draggable ) {
- var uiSortable = $.extend( {}, ui, {
- item: draggable.element
- } );
-
- draggable.cancelHelperRemoval = false;
-
- $.each( draggable.sortables, function() {
- var sortable = this;
-
- if ( sortable.isOver ) {
- sortable.isOver = 0;
-
- // Allow this sortable to handle removing the helper
- draggable.cancelHelperRemoval = true;
- sortable.cancelHelperRemoval = false;
-
- // Use _storedCSS To restore properties in the sortable,
- // as this also handles revert (#9675) since the draggable
- // may have modified them in unexpected ways (#8809)
- sortable._storedCSS = {
- position: sortable.placeholder.css( "position" ),
- top: sortable.placeholder.css( "top" ),
- left: sortable.placeholder.css( "left" )
- };
-
- sortable._mouseStop( event );
-
- // Once drag has ended, the sortable should return to using
- // its original helper, not the shared helper from draggable
- sortable.options.helper = sortable.options._helper;
- } else {
-
- // Prevent this Sortable from removing the helper.
- // However, don't set the draggable to remove the helper
- // either as another connected Sortable may yet handle the removal.
- sortable.cancelHelperRemoval = true;
-
- sortable._trigger( "deactivate", event, uiSortable );
- }
- } );
- },
- drag: function( event, ui, draggable ) {
- $.each( draggable.sortables, function() {
- var innermostIntersecting = false,
- sortable = this;
-
- // Copy over variables that sortable's _intersectsWith uses
- sortable.positionAbs = draggable.positionAbs;
- sortable.helperProportions = draggable.helperProportions;
- sortable.offset.click = draggable.offset.click;
-
- if ( sortable._intersectsWith( sortable.containerCache ) ) {
- innermostIntersecting = true;
-
- $.each( draggable.sortables, function() {
-
- // Copy over variables that sortable's _intersectsWith uses
- this.positionAbs = draggable.positionAbs;
- this.helperProportions = draggable.helperProportions;
- this.offset.click = draggable.offset.click;
-
- if ( this !== sortable &&
- this._intersectsWith( this.containerCache ) &&
- $.contains( sortable.element[ 0 ], this.element[ 0 ] ) ) {
- innermostIntersecting = false;
- }
-
- return innermostIntersecting;
- } );
- }
-
- if ( innermostIntersecting ) {
-
- // If it intersects, we use a little isOver variable and set it once,
- // so that the move-in stuff gets fired only once.
- if ( !sortable.isOver ) {
- sortable.isOver = 1;
-
- // Store draggable's parent in case we need to reappend to it later.
- draggable._parent = ui.helper.parent();
-
- sortable.currentItem = ui.helper
- .appendTo( sortable.element )
- .data( "ui-sortable-item", true );
-
- // Store helper option to later restore it
- sortable.options._helper = sortable.options.helper;
-
- sortable.options.helper = function() {
- return ui.helper[ 0 ];
- };
-
- // Fire the start events of the sortable with our passed browser event,
- // and our own helper (so it doesn't create a new one)
- event.target = sortable.currentItem[ 0 ];
- sortable._mouseCapture( event, true );
- sortable._mouseStart( event, true, true );
-
- // Because the browser event is way off the new appended portlet,
- // modify necessary variables to reflect the changes
- sortable.offset.click.top = draggable.offset.click.top;
- sortable.offset.click.left = draggable.offset.click.left;
- sortable.offset.parent.left -= draggable.offset.parent.left -
- sortable.offset.parent.left;
- sortable.offset.parent.top -= draggable.offset.parent.top -
- sortable.offset.parent.top;
-
- draggable._trigger( "toSortable", event );
-
- // Inform draggable that the helper is in a valid drop zone,
- // used solely in the revert option to handle "valid/invalid".
- draggable.dropped = sortable.element;
-
- // Need to refreshPositions of all sortables in the case that
- // adding to one sortable changes the location of the other sortables (#9675)
- $.each( draggable.sortables, function() {
- this.refreshPositions();
- } );
-
- // Hack so receive/update callbacks work (mostly)
- draggable.currentItem = draggable.element;
- sortable.fromOutside = draggable;
- }
-
- if ( sortable.currentItem ) {
- sortable._mouseDrag( event );
-
- // Copy the sortable's position because the draggable's can potentially reflect
- // a relative position, while sortable is always absolute, which the dragged
- // element has now become. (#8809)
- ui.position = sortable.position;
- }
- } else {
-
- // If it doesn't intersect with the sortable, and it intersected before,
- // we fake the drag stop of the sortable, but make sure it doesn't remove
- // the helper by using cancelHelperRemoval.
- if ( sortable.isOver ) {
-
- sortable.isOver = 0;
- sortable.cancelHelperRemoval = true;
-
- // Calling sortable's mouseStop would trigger a revert,
- // so revert must be temporarily false until after mouseStop is called.
- sortable.options._revert = sortable.options.revert;
- sortable.options.revert = false;
-
- sortable._trigger( "out", event, sortable._uiHash( sortable ) );
- sortable._mouseStop( event, true );
-
- // Restore sortable behaviors that were modfied
- // when the draggable entered the sortable area (#9481)
- sortable.options.revert = sortable.options._revert;
- sortable.options.helper = sortable.options._helper;
-
- if ( sortable.placeholder ) {
- sortable.placeholder.remove();
- }
-
- // Restore and recalculate the draggable's offset considering the sortable
- // may have modified them in unexpected ways. (#8809, #10669)
- ui.helper.appendTo( draggable._parent );
- draggable._refreshOffsets( event );
- ui.position = draggable._generatePosition( event, true );
-
- draggable._trigger( "fromSortable", event );
-
- // Inform draggable that the helper is no longer in a valid drop zone
- draggable.dropped = false;
-
- // Need to refreshPositions of all sortables just in case removing
- // from one sortable changes the location of other sortables (#9675)
- $.each( draggable.sortables, function() {
- this.refreshPositions();
- } );
- }
- }
- } );
- }
-} );
-
-$.ui.plugin.add( "draggable", "cursor", {
- start: function( event, ui, instance ) {
- var t = $( "body" ),
- o = instance.options;
-
- if ( t.css( "cursor" ) ) {
- o._cursor = t.css( "cursor" );
- }
- t.css( "cursor", o.cursor );
- },
- stop: function( event, ui, instance ) {
- var o = instance.options;
- if ( o._cursor ) {
- $( "body" ).css( "cursor", o._cursor );
- }
- }
-} );
-
-$.ui.plugin.add( "draggable", "opacity", {
- start: function( event, ui, instance ) {
- var t = $( ui.helper ),
- o = instance.options;
- if ( t.css( "opacity" ) ) {
- o._opacity = t.css( "opacity" );
- }
- t.css( "opacity", o.opacity );
- },
- stop: function( event, ui, instance ) {
- var o = instance.options;
- if ( o._opacity ) {
- $( ui.helper ).css( "opacity", o._opacity );
- }
- }
-} );
-
-$.ui.plugin.add( "draggable", "scroll", {
- start: function( event, ui, i ) {
- if ( !i.scrollParentNotHidden ) {
- i.scrollParentNotHidden = i.helper.scrollParent( false );
- }
-
- if ( i.scrollParentNotHidden[ 0 ] !== i.document[ 0 ] &&
- i.scrollParentNotHidden[ 0 ].tagName !== "HTML" ) {
- i.overflowOffset = i.scrollParentNotHidden.offset();
- }
- },
- drag: function( event, ui, i ) {
-
- var o = i.options,
- scrolled = false,
- scrollParent = i.scrollParentNotHidden[ 0 ],
- document = i.document[ 0 ];
-
- if ( scrollParent !== document && scrollParent.tagName !== "HTML" ) {
- if ( !o.axis || o.axis !== "x" ) {
- if ( ( i.overflowOffset.top + scrollParent.offsetHeight ) - event.pageY <
- o.scrollSensitivity ) {
- scrollParent.scrollTop = scrolled = scrollParent.scrollTop + o.scrollSpeed;
- } else if ( event.pageY - i.overflowOffset.top < o.scrollSensitivity ) {
- scrollParent.scrollTop = scrolled = scrollParent.scrollTop - o.scrollSpeed;
- }
- }
-
- if ( !o.axis || o.axis !== "y" ) {
- if ( ( i.overflowOffset.left + scrollParent.offsetWidth ) - event.pageX <
- o.scrollSensitivity ) {
- scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft + o.scrollSpeed;
- } else if ( event.pageX - i.overflowOffset.left < o.scrollSensitivity ) {
- scrollParent.scrollLeft = scrolled = scrollParent.scrollLeft - o.scrollSpeed;
- }
- }
-
- } else {
-
- if ( !o.axis || o.axis !== "x" ) {
- if ( event.pageY - $( document ).scrollTop() < o.scrollSensitivity ) {
- scrolled = $( document ).scrollTop( $( document ).scrollTop() - o.scrollSpeed );
- } else if ( $( window ).height() - ( event.pageY - $( document ).scrollTop() ) <
- o.scrollSensitivity ) {
- scrolled = $( document ).scrollTop( $( document ).scrollTop() + o.scrollSpeed );
- }
- }
-
- if ( !o.axis || o.axis !== "y" ) {
- if ( event.pageX - $( document ).scrollLeft() < o.scrollSensitivity ) {
- scrolled = $( document ).scrollLeft(
- $( document ).scrollLeft() - o.scrollSpeed
- );
- } else if ( $( window ).width() - ( event.pageX - $( document ).scrollLeft() ) <
- o.scrollSensitivity ) {
- scrolled = $( document ).scrollLeft(
- $( document ).scrollLeft() + o.scrollSpeed
- );
- }
- }
-
- }
-
- if ( scrolled !== false && $.ui.ddmanager && !o.dropBehaviour ) {
- $.ui.ddmanager.prepareOffsets( i, event );
- }
-
- }
-} );
-
-$.ui.plugin.add( "draggable", "snap", {
- start: function( event, ui, i ) {
-
- var o = i.options;
-
- i.snapElements = [];
-
- $( o.snap.constructor !== String ? ( o.snap.items || ":data(ui-draggable)" ) : o.snap )
- .each( function() {
- var $t = $( this ),
- $o = $t.offset();
- if ( this !== i.element[ 0 ] ) {
- i.snapElements.push( {
- item: this,
- width: $t.outerWidth(), height: $t.outerHeight(),
- top: $o.top, left: $o.left
- } );
- }
- } );
-
- },
- drag: function( event, ui, inst ) {
-
- var ts, bs, ls, rs, l, r, t, b, i, first,
- o = inst.options,
- d = o.snapTolerance,
- x1 = ui.offset.left, x2 = x1 + inst.helperProportions.width,
- y1 = ui.offset.top, y2 = y1 + inst.helperProportions.height;
-
- for ( i = inst.snapElements.length - 1; i >= 0; i-- ) {
-
- l = inst.snapElements[ i ].left - inst.margins.left;
- r = l + inst.snapElements[ i ].width;
- t = inst.snapElements[ i ].top - inst.margins.top;
- b = t + inst.snapElements[ i ].height;
-
- if ( x2 < l - d || x1 > r + d || y2 < t - d || y1 > b + d ||
- !$.contains( inst.snapElements[ i ].item.ownerDocument,
- inst.snapElements[ i ].item ) ) {
- if ( inst.snapElements[ i ].snapping ) {
- ( inst.options.snap.release &&
- inst.options.snap.release.call(
- inst.element,
- event,
- $.extend( inst._uiHash(), { snapItem: inst.snapElements[ i ].item } )
- ) );
- }
- inst.snapElements[ i ].snapping = false;
- continue;
- }
-
- if ( o.snapMode !== "inner" ) {
- ts = Math.abs( t - y2 ) <= d;
- bs = Math.abs( b - y1 ) <= d;
- ls = Math.abs( l - x2 ) <= d;
- rs = Math.abs( r - x1 ) <= d;
- if ( ts ) {
- ui.position.top = inst._convertPositionTo( "relative", {
- top: t - inst.helperProportions.height,
- left: 0
- } ).top;
- }
- if ( bs ) {
- ui.position.top = inst._convertPositionTo( "relative", {
- top: b,
- left: 0
- } ).top;
- }
- if ( ls ) {
- ui.position.left = inst._convertPositionTo( "relative", {
- top: 0,
- left: l - inst.helperProportions.width
- } ).left;
- }
- if ( rs ) {
- ui.position.left = inst._convertPositionTo( "relative", {
- top: 0,
- left: r
- } ).left;
- }
- }
-
- first = ( ts || bs || ls || rs );
-
- if ( o.snapMode !== "outer" ) {
- ts = Math.abs( t - y1 ) <= d;
- bs = Math.abs( b - y2 ) <= d;
- ls = Math.abs( l - x1 ) <= d;
- rs = Math.abs( r - x2 ) <= d;
- if ( ts ) {
- ui.position.top = inst._convertPositionTo( "relative", {
- top: t,
- left: 0
- } ).top;
- }
- if ( bs ) {
- ui.position.top = inst._convertPositionTo( "relative", {
- top: b - inst.helperProportions.height,
- left: 0
- } ).top;
- }
- if ( ls ) {
- ui.position.left = inst._convertPositionTo( "relative", {
- top: 0,
- left: l
- } ).left;
- }
- if ( rs ) {
- ui.position.left = inst._convertPositionTo( "relative", {
- top: 0,
- left: r - inst.helperProportions.width
- } ).left;
- }
- }
-
- if ( !inst.snapElements[ i ].snapping && ( ts || bs || ls || rs || first ) ) {
- ( inst.options.snap.snap &&
- inst.options.snap.snap.call(
- inst.element,
- event,
- $.extend( inst._uiHash(), {
- snapItem: inst.snapElements[ i ].item
- } ) ) );
- }
- inst.snapElements[ i ].snapping = ( ts || bs || ls || rs || first );
-
- }
-
- }
-} );
-
-$.ui.plugin.add( "draggable", "stack", {
- start: function( event, ui, instance ) {
- var min,
- o = instance.options,
- group = $.makeArray( $( o.stack ) ).sort( function( a, b ) {
- return ( parseInt( $( a ).css( "zIndex" ), 10 ) || 0 ) -
- ( parseInt( $( b ).css( "zIndex" ), 10 ) || 0 );
- } );
-
- if ( !group.length ) { return; }
-
- min = parseInt( $( group[ 0 ] ).css( "zIndex" ), 10 ) || 0;
- $( group ).each( function( i ) {
- $( this ).css( "zIndex", min + i );
- } );
- this.css( "zIndex", ( min + group.length ) );
- }
-} );
-
-$.ui.plugin.add( "draggable", "zIndex", {
- start: function( event, ui, instance ) {
- var t = $( ui.helper ),
- o = instance.options;
-
- if ( t.css( "zIndex" ) ) {
- o._zIndex = t.css( "zIndex" );
- }
- t.css( "zIndex", o.zIndex );
- },
- stop: function( event, ui, instance ) {
- var o = instance.options;
-
- if ( o._zIndex ) {
- $( ui.helper ).css( "zIndex", o._zIndex );
- }
- }
-} );
-
-var widgetsDraggable = $.ui.draggable;
-
-
-/*!
- * jQuery UI Resizable 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- */
-
-//>>label: Resizable
-//>>group: Interactions
-//>>description: Enables resize functionality for any element.
-//>>docs: http://api.jqueryui.com/resizable/
-//>>demos: http://jqueryui.com/resizable/
-//>>css.structure: ../../themes/base/core.css
-//>>css.structure: ../../themes/base/resizable.css
-//>>css.theme: ../../themes/base/theme.css
-
-
-
-$.widget( "ui.resizable", $.ui.mouse, {
- version: "1.12.1",
- widgetEventPrefix: "resize",
- options: {
- alsoResize: false,
- animate: false,
- animateDuration: "slow",
- animateEasing: "swing",
- aspectRatio: false,
- autoHide: false,
- classes: {
- "ui-resizable-se": "ui-icon ui-icon-gripsmall-diagonal-se"
- },
- containment: false,
- ghost: false,
- grid: false,
- handles: "e,s,se",
- helper: false,
- maxHeight: null,
- maxWidth: null,
- minHeight: 10,
- minWidth: 10,
-
- // See #7960
- zIndex: 90,
-
- // Callbacks
- resize: null,
- start: null,
- stop: null
- },
-
- _num: function( value ) {
- return parseFloat( value ) || 0;
- },
-
- _isNumber: function( value ) {
- return !isNaN( parseFloat( value ) );
- },
-
- _hasScroll: function( el, a ) {
-
- if ( $( el ).css( "overflow" ) === "hidden" ) {
- return false;
- }
-
- var scroll = ( a && a === "left" ) ? "scrollLeft" : "scrollTop",
- has = false;
-
- if ( el[ scroll ] > 0 ) {
- return true;
- }
-
- // TODO: determine which cases actually cause this to happen
- // if the element doesn't have the scroll set, see if it's possible to
- // set the scroll
- el[ scroll ] = 1;
- has = ( el[ scroll ] > 0 );
- el[ scroll ] = 0;
- return has;
- },
-
- _create: function() {
-
- var margins,
- o = this.options,
- that = this;
- this._addClass( "ui-resizable" );
-
- $.extend( this, {
- _aspectRatio: !!( o.aspectRatio ),
- aspectRatio: o.aspectRatio,
- originalElement: this.element,
- _proportionallyResizeElements: [],
- _helper: o.helper || o.ghost || o.animate ? o.helper || "ui-resizable-helper" : null
- } );
-
- // Wrap the element if it cannot hold child nodes
- if ( this.element[ 0 ].nodeName.match( /^(canvas|textarea|input|select|button|img)$/i ) ) {
-
- this.element.wrap(
- $( "<div class='ui-wrapper' style='overflow: hidden;'></div>" ).css( {
- position: this.element.css( "position" ),
- width: this.element.outerWidth(),
- height: this.element.outerHeight(),
- top: this.element.css( "top" ),
- left: this.element.css( "left" )
- } )
- );
-
- this.element = this.element.parent().data(
- "ui-resizable", this.element.resizable( "instance" )
- );
-
- this.elementIsWrapper = true;
-
- margins = {
- marginTop: this.originalElement.css( "marginTop" ),
- marginRight: this.originalElement.css( "marginRight" ),
- marginBottom: this.originalElement.css( "marginBottom" ),
- marginLeft: this.originalElement.css( "marginLeft" )
- };
-
- this.element.css( margins );
- this.originalElement.css( "margin", 0 );
-
- // support: Safari
- // Prevent Safari textarea resize
- this.originalResizeStyle = this.originalElement.css( "resize" );
- this.originalElement.css( "resize", "none" );
-
- this._proportionallyResizeElements.push( this.originalElement.css( {
- position: "static",
- zoom: 1,
- display: "block"
- } ) );
-
- // Support: IE9
- // avoid IE jump (hard set the margin)
- this.originalElement.css( margins );
-
- this._proportionallyResize();
- }
-
- this._setupHandles();
-
- if ( o.autoHide ) {
- $( this.element )
- .on( "mouseenter", function() {
- if ( o.disabled ) {
- return;
- }
- that._removeClass( "ui-resizable-autohide" );
- that._handles.show();
- } )
- .on( "mouseleave", function() {
- if ( o.disabled ) {
- return;
- }
- if ( !that.resizing ) {
- that._addClass( "ui-resizable-autohide" );
- that._handles.hide();
- }
- } );
- }
-
- this._mouseInit();
- },
-
- _destroy: function() {
-
- this._mouseDestroy();
-
- var wrapper,
- _destroy = function( exp ) {
- $( exp )
- .removeData( "resizable" )
- .removeData( "ui-resizable" )
- .off( ".resizable" )
- .find( ".ui-resizable-handle" )
- .remove();
- };
-
- // TODO: Unwrap at same DOM position
- if ( this.elementIsWrapper ) {
- _destroy( this.element );
- wrapper = this.element;
- this.originalElement.css( {
- position: wrapper.css( "position" ),
- width: wrapper.outerWidth(),
- height: wrapper.outerHeight(),
- top: wrapper.css( "top" ),
- left: wrapper.css( "left" )
- } ).insertAfter( wrapper );
- wrapper.remove();
- }
-
- this.originalElement.css( "resize", this.originalResizeStyle );
- _destroy( this.originalElement );
-
- return this;
- },
-
- _setOption: function( key, value ) {
- this._super( key, value );
-
- switch ( key ) {
- case "handles":
- this._removeHandles();
- this._setupHandles();
- break;
- default:
- break;
- }
- },
-
- _setupHandles: function() {
- var o = this.options, handle, i, n, hname, axis, that = this;
- this.handles = o.handles ||
- ( !$( ".ui-resizable-handle", this.element ).length ?
- "e,s,se" : {
- n: ".ui-resizable-n",
- e: ".ui-resizable-e",
- s: ".ui-resizable-s",
- w: ".ui-resizable-w",
- se: ".ui-resizable-se",
- sw: ".ui-resizable-sw",
- ne: ".ui-resizable-ne",
- nw: ".ui-resizable-nw"
- } );
-
- this._handles = $();
- if ( this.handles.constructor === String ) {
-
- if ( this.handles === "all" ) {
- this.handles = "n,e,s,w,se,sw,ne,nw";
- }
-
- n = this.handles.split( "," );
- this.handles = {};
-
- for ( i = 0; i < n.length; i++ ) {
-
- handle = $.trim( n[ i ] );
- hname = "ui-resizable-" + handle;
- axis = $( "<div>" );
- this._addClass( axis, "ui-resizable-handle " + hname );
-
- axis.css( { zIndex: o.zIndex } );
-
- this.handles[ handle ] = ".ui-resizable-" + handle;
- this.element.append( axis );
- }
-
- }
-
- this._renderAxis = function( target ) {
-
- var i, axis, padPos, padWrapper;
-
- target = target || this.element;
-
- for ( i in this.handles ) {
-
- if ( this.handles[ i ].constructor === String ) {
- this.handles[ i ] = this.element.children( this.handles[ i ] ).first().show();
- } else if ( this.handles[ i ].jquery || this.handles[ i ].nodeType ) {
- this.handles[ i ] = $( this.handles[ i ] );
- this._on( this.handles[ i ], { "mousedown": that._mouseDown } );
- }
-
- if ( this.elementIsWrapper &&
- this.originalElement[ 0 ]
- .nodeName
- .match( /^(textarea|input|select|button)$/i ) ) {
- axis = $( this.handles[ i ], this.element );
-
- padWrapper = /sw|ne|nw|se|n|s/.test( i ) ?
- axis.outerHeight() :
- axis.outerWidth();
-
- padPos = [ "padding",
- /ne|nw|n/.test( i ) ? "Top" :
- /se|sw|s/.test( i ) ? "Bottom" :
- /^e$/.test( i ) ? "Right" : "Left" ].join( "" );
-
- target.css( padPos, padWrapper );
-
- this._proportionallyResize();
- }
-
- this._handles = this._handles.add( this.handles[ i ] );
- }
- };
-
- // TODO: make renderAxis a prototype function
- this._renderAxis( this.element );
-
- this._handles = this._handles.add( this.element.find( ".ui-resizable-handle" ) );
- this._handles.disableSelection();
-
- this._handles.on( "mouseover", function() {
- if ( !that.resizing ) {
- if ( this.className ) {
- axis = this.className.match( /ui-resizable-(se|sw|ne|nw|n|e|s|w)/i );
- }
- that.axis = axis && axis[ 1 ] ? axis[ 1 ] : "se";
- }
- } );
-
- if ( o.autoHide ) {
- this._handles.hide();
- this._addClass( "ui-resizable-autohide" );
- }
- },
-
- _removeHandles: function() {
- this._handles.remove();
- },
-
- _mouseCapture: function( event ) {
- var i, handle,
- capture = false;
-
- for ( i in this.handles ) {
- handle = $( this.handles[ i ] )[ 0 ];
- if ( handle === event.target || $.contains( handle, event.target ) ) {
- capture = true;
- }
- }
-
- return !this.options.disabled && capture;
- },
-
- _mouseStart: function( event ) {
-
- var curleft, curtop, cursor,
- o = this.options,
- el = this.element;
-
- this.resizing = true;
-
- this._renderProxy();
-
- curleft = this._num( this.helper.css( "left" ) );
- curtop = this._num( this.helper.css( "top" ) );
-
- if ( o.containment ) {
- curleft += $( o.containment ).scrollLeft() || 0;
- curtop += $( o.containment ).scrollTop() || 0;
- }
-
- this.offset = this.helper.offset();
- this.position = { left: curleft, top: curtop };
-
- this.size = this._helper ? {
- width: this.helper.width(),
- height: this.helper.height()
- } : {
- width: el.width(),
- height: el.height()
- };
-
- this.originalSize = this._helper ? {
- width: el.outerWidth(),
- height: el.outerHeight()
- } : {
- width: el.width(),
- height: el.height()
- };
-
- this.sizeDiff = {
- width: el.outerWidth() - el.width(),
- height: el.outerHeight() - el.height()
- };
-
- this.originalPosition = { left: curleft, top: curtop };
- this.originalMousePosition = { left: event.pageX, top: event.pageY };
-
- this.aspectRatio = ( typeof o.aspectRatio === "number" ) ?
- o.aspectRatio :
- ( ( this.originalSize.width / this.originalSize.height ) || 1 );
-
- cursor = $( ".ui-resizable-" + this.axis ).css( "cursor" );
- $( "body" ).css( "cursor", cursor === "auto" ? this.axis + "-resize" : cursor );
-
- this._addClass( "ui-resizable-resizing" );
- this._propagate( "start", event );
- return true;
- },
-
- _mouseDrag: function( event ) {
-
- var data, props,
- smp = this.originalMousePosition,
- a = this.axis,
- dx = ( event.pageX - smp.left ) || 0,
- dy = ( event.pageY - smp.top ) || 0,
- trigger = this._change[ a ];
-
- this._updatePrevProperties();
-
- if ( !trigger ) {
- return false;
- }
-
- data = trigger.apply( this, [ event, dx, dy ] );
-
- this._updateVirtualBoundaries( event.shiftKey );
- if ( this._aspectRatio || event.shiftKey ) {
- data = this._updateRatio( data, event );
- }
-
- data = this._respectSize( data, event );
-
- this._updateCache( data );
-
- this._propagate( "resize", event );
-
- props = this._applyChanges();
-
- if ( !this._helper && this._proportionallyResizeElements.length ) {
- this._proportionallyResize();
- }
-
- if ( !$.isEmptyObject( props ) ) {
- this._updatePrevProperties();
- this._trigger( "resize", event, this.ui() );
- this._applyChanges();
- }
-
- return false;
- },
-
- _mouseStop: function( event ) {
-
- this.resizing = false;
- var pr, ista, soffseth, soffsetw, s, left, top,
- o = this.options, that = this;
-
- if ( this._helper ) {
-
- pr = this._proportionallyResizeElements;
- ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName );
- soffseth = ista && this._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height;
- soffsetw = ista ? 0 : that.sizeDiff.width;
-
- s = {
- width: ( that.helper.width() - soffsetw ),
- height: ( that.helper.height() - soffseth )
- };
- left = ( parseFloat( that.element.css( "left" ) ) +
- ( that.position.left - that.originalPosition.left ) ) || null;
- top = ( parseFloat( that.element.css( "top" ) ) +
- ( that.position.top - that.originalPosition.top ) ) || null;
-
- if ( !o.animate ) {
- this.element.css( $.extend( s, { top: top, left: left } ) );
- }
-
- that.helper.height( that.size.height );
- that.helper.width( that.size.width );
-
- if ( this._helper && !o.animate ) {
- this._proportionallyResize();
- }
- }
-
- $( "body" ).css( "cursor", "auto" );
-
- this._removeClass( "ui-resizable-resizing" );
-
- this._propagate( "stop", event );
-
- if ( this._helper ) {
- this.helper.remove();
- }
-
- return false;
-
- },
-
- _updatePrevProperties: function() {
- this.prevPosition = {
- top: this.position.top,
- left: this.position.left
- };
- this.prevSize = {
- width: this.size.width,
- height: this.size.height
- };
- },
-
- _applyChanges: function() {
- var props = {};
-
- if ( this.position.top !== this.prevPosition.top ) {
- props.top = this.position.top + "px";
- }
- if ( this.position.left !== this.prevPosition.left ) {
- props.left = this.position.left + "px";
- }
- if ( this.size.width !== this.prevSize.width ) {
- props.width = this.size.width + "px";
- }
- if ( this.size.height !== this.prevSize.height ) {
- props.height = this.size.height + "px";
- }
-
- this.helper.css( props );
-
- return props;
- },
-
- _updateVirtualBoundaries: function( forceAspectRatio ) {
- var pMinWidth, pMaxWidth, pMinHeight, pMaxHeight, b,
- o = this.options;
-
- b = {
- minWidth: this._isNumber( o.minWidth ) ? o.minWidth : 0,
- maxWidth: this._isNumber( o.maxWidth ) ? o.maxWidth : Infinity,
- minHeight: this._isNumber( o.minHeight ) ? o.minHeight : 0,
- maxHeight: this._isNumber( o.maxHeight ) ? o.maxHeight : Infinity
- };
-
- if ( this._aspectRatio || forceAspectRatio ) {
- pMinWidth = b.minHeight * this.aspectRatio;
- pMinHeight = b.minWidth / this.aspectRatio;
- pMaxWidth = b.maxHeight * this.aspectRatio;
- pMaxHeight = b.maxWidth / this.aspectRatio;
-
- if ( pMinWidth > b.minWidth ) {
- b.minWidth = pMinWidth;
- }
- if ( pMinHeight > b.minHeight ) {
- b.minHeight = pMinHeight;
- }
- if ( pMaxWidth < b.maxWidth ) {
- b.maxWidth = pMaxWidth;
- }
- if ( pMaxHeight < b.maxHeight ) {
- b.maxHeight = pMaxHeight;
- }
- }
- this._vBoundaries = b;
- },
-
- _updateCache: function( data ) {
- this.offset = this.helper.offset();
- if ( this._isNumber( data.left ) ) {
- this.position.left = data.left;
- }
- if ( this._isNumber( data.top ) ) {
- this.position.top = data.top;
- }
- if ( this._isNumber( data.height ) ) {
- this.size.height = data.height;
- }
- if ( this._isNumber( data.width ) ) {
- this.size.width = data.width;
- }
- },
-
- _updateRatio: function( data ) {
-
- var cpos = this.position,
- csize = this.size,
- a = this.axis;
-
- if ( this._isNumber( data.height ) ) {
- data.width = ( data.height * this.aspectRatio );
- } else if ( this._isNumber( data.width ) ) {
- data.height = ( data.width / this.aspectRatio );
- }
-
- if ( a === "sw" ) {
- data.left = cpos.left + ( csize.width - data.width );
- data.top = null;
- }
- if ( a === "nw" ) {
- data.top = cpos.top + ( csize.height - data.height );
- data.left = cpos.left + ( csize.width - data.width );
- }
-
- return data;
- },
-
- _respectSize: function( data ) {
-
- var o = this._vBoundaries,
- a = this.axis,
- ismaxw = this._isNumber( data.width ) && o.maxWidth && ( o.maxWidth < data.width ),
- ismaxh = this._isNumber( data.height ) && o.maxHeight && ( o.maxHeight < data.height ),
- isminw = this._isNumber( data.width ) && o.minWidth && ( o.minWidth > data.width ),
- isminh = this._isNumber( data.height ) && o.minHeight && ( o.minHeight > data.height ),
- dw = this.originalPosition.left + this.originalSize.width,
- dh = this.originalPosition.top + this.originalSize.height,
- cw = /sw|nw|w/.test( a ), ch = /nw|ne|n/.test( a );
- if ( isminw ) {
- data.width = o.minWidth;
- }
- if ( isminh ) {
- data.height = o.minHeight;
- }
- if ( ismaxw ) {
- data.width = o.maxWidth;
- }
- if ( ismaxh ) {
- data.height = o.maxHeight;
- }
-
- if ( isminw && cw ) {
- data.left = dw - o.minWidth;
- }
- if ( ismaxw && cw ) {
- data.left = dw - o.maxWidth;
- }
- if ( isminh && ch ) {
- data.top = dh - o.minHeight;
- }
- if ( ismaxh && ch ) {
- data.top = dh - o.maxHeight;
- }
-
- // Fixing jump error on top/left - bug #2330
- if ( !data.width && !data.height && !data.left && data.top ) {
- data.top = null;
- } else if ( !data.width && !data.height && !data.top && data.left ) {
- data.left = null;
- }
-
- return data;
- },
-
- _getPaddingPlusBorderDimensions: function( element ) {
- var i = 0,
- widths = [],
- borders = [
- element.css( "borderTopWidth" ),
- element.css( "borderRightWidth" ),
- element.css( "borderBottomWidth" ),
- element.css( "borderLeftWidth" )
- ],
- paddings = [
- element.css( "paddingTop" ),
- element.css( "paddingRight" ),
- element.css( "paddingBottom" ),
- element.css( "paddingLeft" )
- ];
-
- for ( ; i < 4; i++ ) {
- widths[ i ] = ( parseFloat( borders[ i ] ) || 0 );
- widths[ i ] += ( parseFloat( paddings[ i ] ) || 0 );
- }
-
- return {
- height: widths[ 0 ] + widths[ 2 ],
- width: widths[ 1 ] + widths[ 3 ]
- };
- },
-
- _proportionallyResize: function() {
-
- if ( !this._proportionallyResizeElements.length ) {
- return;
- }
-
- var prel,
- i = 0,
- element = this.helper || this.element;
-
- for ( ; i < this._proportionallyResizeElements.length; i++ ) {
-
- prel = this._proportionallyResizeElements[ i ];
-
- // TODO: Seems like a bug to cache this.outerDimensions
- // considering that we are in a loop.
- if ( !this.outerDimensions ) {
- this.outerDimensions = this._getPaddingPlusBorderDimensions( prel );
- }
-
- prel.css( {
- height: ( element.height() - this.outerDimensions.height ) || 0,
- width: ( element.width() - this.outerDimensions.width ) || 0
- } );
-
- }
-
- },
-
- _renderProxy: function() {
-
- var el = this.element, o = this.options;
- this.elementOffset = el.offset();
-
- if ( this._helper ) {
-
- this.helper = this.helper || $( "<div style='overflow:hidden;'></div>" );
-
- this._addClass( this.helper, this._helper );
- this.helper.css( {
- width: this.element.outerWidth(),
- height: this.element.outerHeight(),
- position: "absolute",
- left: this.elementOffset.left + "px",
- top: this.elementOffset.top + "px",
- zIndex: ++o.zIndex //TODO: Don't modify option
- } );
-
- this.helper
- .appendTo( "body" )
- .disableSelection();
-
- } else {
- this.helper = this.element;
- }
-
- },
-
- _change: {
- e: function( event, dx ) {
- return { width: this.originalSize.width + dx };
- },
- w: function( event, dx ) {
- var cs = this.originalSize, sp = this.originalPosition;
- return { left: sp.left + dx, width: cs.width - dx };
- },
- n: function( event, dx, dy ) {
- var cs = this.originalSize, sp = this.originalPosition;
- return { top: sp.top + dy, height: cs.height - dy };
- },
- s: function( event, dx, dy ) {
- return { height: this.originalSize.height + dy };
- },
- se: function( event, dx, dy ) {
- return $.extend( this._change.s.apply( this, arguments ),
- this._change.e.apply( this, [ event, dx, dy ] ) );
- },
- sw: function( event, dx, dy ) {
- return $.extend( this._change.s.apply( this, arguments ),
- this._change.w.apply( this, [ event, dx, dy ] ) );
- },
- ne: function( event, dx, dy ) {
- return $.extend( this._change.n.apply( this, arguments ),
- this._change.e.apply( this, [ event, dx, dy ] ) );
- },
- nw: function( event, dx, dy ) {
- return $.extend( this._change.n.apply( this, arguments ),
- this._change.w.apply( this, [ event, dx, dy ] ) );
- }
- },
-
- _propagate: function( n, event ) {
- $.ui.plugin.call( this, n, [ event, this.ui() ] );
- ( n !== "resize" && this._trigger( n, event, this.ui() ) );
- },
-
- plugins: {},
-
- ui: function() {
- return {
- originalElement: this.originalElement,
- element: this.element,
- helper: this.helper,
- position: this.position,
- size: this.size,
- originalSize: this.originalSize,
- originalPosition: this.originalPosition
- };
- }
-
-} );
-
-/*
- * Resizable Extensions
- */
-
-$.ui.plugin.add( "resizable", "animate", {
-
- stop: function( event ) {
- var that = $( this ).resizable( "instance" ),
- o = that.options,
- pr = that._proportionallyResizeElements,
- ista = pr.length && ( /textarea/i ).test( pr[ 0 ].nodeName ),
- soffseth = ista && that._hasScroll( pr[ 0 ], "left" ) ? 0 : that.sizeDiff.height,
- soffsetw = ista ? 0 : that.sizeDiff.width,
- style = {
- width: ( that.size.width - soffsetw ),
- height: ( that.size.height - soffseth )
- },
- left = ( parseFloat( that.element.css( "left" ) ) +
- ( that.position.left - that.originalPosition.left ) ) || null,
- top = ( parseFloat( that.element.css( "top" ) ) +
- ( that.position.top - that.originalPosition.top ) ) || null;
-
- that.element.animate(
- $.extend( style, top && left ? { top: top, left: left } : {} ), {
- duration: o.animateDuration,
- easing: o.animateEasing,
- step: function() {
-
- var data = {
- width: parseFloat( that.element.css( "width" ) ),
- height: parseFloat( that.element.css( "height" ) ),
- top: parseFloat( that.element.css( "top" ) ),
- left: parseFloat( that.element.css( "left" ) )
- };
-
- if ( pr && pr.length ) {
- $( pr[ 0 ] ).css( { width: data.width, height: data.height } );
- }
-
- // Propagating resize, and updating values for each animation step
- that._updateCache( data );
- that._propagate( "resize", event );
-
- }
- }
- );
- }
-
-} );
-
-$.ui.plugin.add( "resizable", "containment", {
-
- start: function() {
- var element, p, co, ch, cw, width, height,
- that = $( this ).resizable( "instance" ),
- o = that.options,
- el = that.element,
- oc = o.containment,
- ce = ( oc instanceof $ ) ?
- oc.get( 0 ) :
- ( /parent/.test( oc ) ) ? el.parent().get( 0 ) : oc;
-
- if ( !ce ) {
- return;
- }
-
- that.containerElement = $( ce );
-
- if ( /document/.test( oc ) || oc === document ) {
- that.containerOffset = {
- left: 0,
- top: 0
- };
- that.containerPosition = {
- left: 0,
- top: 0
- };
-
- that.parentData = {
- element: $( document ),
- left: 0,
- top: 0,
- width: $( document ).width(),
- height: $( document ).height() || document.body.parentNode.scrollHeight
- };
- } else {
- element = $( ce );
- p = [];
- $( [ "Top", "Right", "Left", "Bottom" ] ).each( function( i, name ) {
- p[ i ] = that._num( element.css( "padding" + name ) );
- } );
-
- that.containerOffset = element.offset();
- that.containerPosition = element.position();
- that.containerSize = {
- height: ( element.innerHeight() - p[ 3 ] ),
- width: ( element.innerWidth() - p[ 1 ] )
- };
-
- co = that.containerOffset;
- ch = that.containerSize.height;
- cw = that.containerSize.width;
- width = ( that._hasScroll ( ce, "left" ) ? ce.scrollWidth : cw );
- height = ( that._hasScroll ( ce ) ? ce.scrollHeight : ch ) ;
-
- that.parentData = {
- element: ce,
- left: co.left,
- top: co.top,
- width: width,
- height: height
- };
- }
- },
-
- resize: function( event ) {
- var woset, hoset, isParent, isOffsetRelative,
- that = $( this ).resizable( "instance" ),
- o = that.options,
- co = that.containerOffset,
- cp = that.position,
- pRatio = that._aspectRatio || event.shiftKey,
- cop = {
- top: 0,
- left: 0
- },
- ce = that.containerElement,
- continueResize = true;
-
- if ( ce[ 0 ] !== document && ( /static/ ).test( ce.css( "position" ) ) ) {
- cop = co;
- }
-
- if ( cp.left < ( that._helper ? co.left : 0 ) ) {
- that.size.width = that.size.width +
- ( that._helper ?
- ( that.position.left - co.left ) :
- ( that.position.left - cop.left ) );
-
- if ( pRatio ) {
- that.size.height = that.size.width / that.aspectRatio;
- continueResize = false;
- }
- that.position.left = o.helper ? co.left : 0;
- }
-
- if ( cp.top < ( that._helper ? co.top : 0 ) ) {
- that.size.height = that.size.height +
- ( that._helper ?
- ( that.position.top - co.top ) :
- that.position.top );
-
- if ( pRatio ) {
- that.size.width = that.size.height * that.aspectRatio;
- continueResize = false;
- }
- that.position.top = that._helper ? co.top : 0;
- }
-
- isParent = that.containerElement.get( 0 ) === that.element.parent().get( 0 );
- isOffsetRelative = /relative|absolute/.test( that.containerElement.css( "position" ) );
-
- if ( isParent && isOffsetRelative ) {
- that.offset.left = that.parentData.left + that.position.left;
- that.offset.top = that.parentData.top + that.position.top;
- } else {
- that.offset.left = that.element.offset().left;
- that.offset.top = that.element.offset().top;
- }
-
- woset = Math.abs( that.sizeDiff.width +
- ( that._helper ?
- that.offset.left - cop.left :
- ( that.offset.left - co.left ) ) );
-
- hoset = Math.abs( that.sizeDiff.height +
- ( that._helper ?
- that.offset.top - cop.top :
- ( that.offset.top - co.top ) ) );
-
- if ( woset + that.size.width >= that.parentData.width ) {
- that.size.width = that.parentData.width - woset;
- if ( pRatio ) {
- that.size.height = that.size.width / that.aspectRatio;
- continueResize = false;
- }
- }
-
- if ( hoset + that.size.height >= that.parentData.height ) {
- that.size.height = that.parentData.height - hoset;
- if ( pRatio ) {
- that.size.width = that.size.height * that.aspectRatio;
- continueResize = false;
- }
- }
-
- if ( !continueResize ) {
- that.position.left = that.prevPosition.left;
- that.position.top = that.prevPosition.top;
- that.size.width = that.prevSize.width;
- that.size.height = that.prevSize.height;
- }
- },
-
- stop: function() {
- var that = $( this ).resizable( "instance" ),
- o = that.options,
- co = that.containerOffset,
- cop = that.containerPosition,
- ce = that.containerElement,
- helper = $( that.helper ),
- ho = helper.offset(),
- w = helper.outerWidth() - that.sizeDiff.width,
- h = helper.outerHeight() - that.sizeDiff.height;
-
- if ( that._helper && !o.animate && ( /relative/ ).test( ce.css( "position" ) ) ) {
- $( this ).css( {
- left: ho.left - cop.left - co.left,
- width: w,
- height: h
- } );
- }
-
- if ( that._helper && !o.animate && ( /static/ ).test( ce.css( "position" ) ) ) {
- $( this ).css( {
- left: ho.left - cop.left - co.left,
- width: w,
- height: h
- } );
- }
- }
-} );
-
-$.ui.plugin.add( "resizable", "alsoResize", {
-
- start: function() {
- var that = $( this ).resizable( "instance" ),
- o = that.options;
-
- $( o.alsoResize ).each( function() {
- var el = $( this );
- el.data( "ui-resizable-alsoresize", {
- width: parseFloat( el.width() ), height: parseFloat( el.height() ),
- left: parseFloat( el.css( "left" ) ), top: parseFloat( el.css( "top" ) )
- } );
- } );
- },
-
- resize: function( event, ui ) {
- var that = $( this ).resizable( "instance" ),
- o = that.options,
- os = that.originalSize,
- op = that.originalPosition,
- delta = {
- height: ( that.size.height - os.height ) || 0,
- width: ( that.size.width - os.width ) || 0,
- top: ( that.position.top - op.top ) || 0,
- left: ( that.position.left - op.left ) || 0
- };
-
- $( o.alsoResize ).each( function() {
- var el = $( this ), start = $( this ).data( "ui-resizable-alsoresize" ), style = {},
- css = el.parents( ui.originalElement[ 0 ] ).length ?
- [ "width", "height" ] :
- [ "width", "height", "top", "left" ];
-
- $.each( css, function( i, prop ) {
- var sum = ( start[ prop ] || 0 ) + ( delta[ prop ] || 0 );
- if ( sum && sum >= 0 ) {
- style[ prop ] = sum || null;
- }
- } );
-
- el.css( style );
- } );
- },
-
- stop: function() {
- $( this ).removeData( "ui-resizable-alsoresize" );
- }
-} );
-
-$.ui.plugin.add( "resizable", "ghost", {
-
- start: function() {
-
- var that = $( this ).resizable( "instance" ), cs = that.size;
-
- that.ghost = that.originalElement.clone();
- that.ghost.css( {
- opacity: 0.25,
- display: "block",
- position: "relative",
- height: cs.height,
- width: cs.width,
- margin: 0,
- left: 0,
- top: 0
- } );
-
- that._addClass( that.ghost, "ui-resizable-ghost" );
-
- // DEPRECATED
- // TODO: remove after 1.12
- if ( $.uiBackCompat !== false && typeof that.options.ghost === "string" ) {
-
- // Ghost option
- that.ghost.addClass( this.options.ghost );
- }
-
- that.ghost.appendTo( that.helper );
-
- },
-
- resize: function() {
- var that = $( this ).resizable( "instance" );
- if ( that.ghost ) {
- that.ghost.css( {
- position: "relative",
- height: that.size.height,
- width: that.size.width
- } );
- }
- },
-
- stop: function() {
- var that = $( this ).resizable( "instance" );
- if ( that.ghost && that.helper ) {
- that.helper.get( 0 ).removeChild( that.ghost.get( 0 ) );
- }
- }
-
-} );
-
-$.ui.plugin.add( "resizable", "grid", {
-
- resize: function() {
- var outerDimensions,
- that = $( this ).resizable( "instance" ),
- o = that.options,
- cs = that.size,
- os = that.originalSize,
- op = that.originalPosition,
- a = that.axis,
- grid = typeof o.grid === "number" ? [ o.grid, o.grid ] : o.grid,
- gridX = ( grid[ 0 ] || 1 ),
- gridY = ( grid[ 1 ] || 1 ),
- ox = Math.round( ( cs.width - os.width ) / gridX ) * gridX,
- oy = Math.round( ( cs.height - os.height ) / gridY ) * gridY,
- newWidth = os.width + ox,
- newHeight = os.height + oy,
- isMaxWidth = o.maxWidth && ( o.maxWidth < newWidth ),
- isMaxHeight = o.maxHeight && ( o.maxHeight < newHeight ),
- isMinWidth = o.minWidth && ( o.minWidth > newWidth ),
- isMinHeight = o.minHeight && ( o.minHeight > newHeight );
-
- o.grid = grid;
-
- if ( isMinWidth ) {
- newWidth += gridX;
- }
- if ( isMinHeight ) {
- newHeight += gridY;
- }
- if ( isMaxWidth ) {
- newWidth -= gridX;
- }
- if ( isMaxHeight ) {
- newHeight -= gridY;
- }
-
- if ( /^(se|s|e)$/.test( a ) ) {
- that.size.width = newWidth;
- that.size.height = newHeight;
- } else if ( /^(ne)$/.test( a ) ) {
- that.size.width = newWidth;
- that.size.height = newHeight;
- that.position.top = op.top - oy;
- } else if ( /^(sw)$/.test( a ) ) {
- that.size.width = newWidth;
- that.size.height = newHeight;
- that.position.left = op.left - ox;
- } else {
- if ( newHeight - gridY <= 0 || newWidth - gridX <= 0 ) {
- outerDimensions = that._getPaddingPlusBorderDimensions( this );
- }
-
- if ( newHeight - gridY > 0 ) {
- that.size.height = newHeight;
- that.position.top = op.top - oy;
- } else {
- newHeight = gridY - outerDimensions.height;
- that.size.height = newHeight;
- that.position.top = op.top + os.height - newHeight;
- }
- if ( newWidth - gridX > 0 ) {
- that.size.width = newWidth;
- that.position.left = op.left - ox;
- } else {
- newWidth = gridX - outerDimensions.width;
- that.size.width = newWidth;
- that.position.left = op.left + os.width - newWidth;
- }
- }
- }
-
-} );
-
-var widgetsResizable = $.ui.resizable;
-
-
-
-
-})); \ No newline at end of file
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.min.css b/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.min.css
deleted file mode 100644
index 5060970..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! jQuery UI - v1.12.1 - 2018-03-18
-* http://jqueryui.com
-* Includes: draggable.css, core.css, resizable.css, theme.css
-* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} \ No newline at end of file
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.min.js b/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.min.js
deleted file mode 100644
index cc9a9aa..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*! jQuery UI - v1.12.1 - 2018-03-18
-* http://jqueryui.com
-* Includes: widget.js, data.js, disable-selection.js, scroll-parent.js, widgets/draggable.js, widgets/resizable.js, widgets/mouse.js
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-(function(t){"function"==typeof define&&define.amd?define(["jquery"],t):t(jQuery)})(function(t){t.ui=t.ui||{},t.ui.version="1.12.1";var e=0,i=Array.prototype.slice;t.cleanData=function(e){return function(i){var s,n,o;for(o=0;null!=(n=i[o]);o++)try{s=t._data(n,"events"),s&&s.remove&&t(n).triggerHandler("remove")}catch(a){}e(i)}}(t.cleanData),t.widget=function(e,i,s){var n,o,a,r={},l=e.split(".")[0];e=e.split(".")[1];var h=l+"-"+e;return s||(s=i,i=t.Widget),t.isArray(s)&&(s=t.extend.apply(null,[{}].concat(s))),t.expr[":"][h.toLowerCase()]=function(e){return!!t.data(e,h)},t[l]=t[l]||{},n=t[l][e],o=t[l][e]=function(t,e){return this._createWidget?(arguments.length&&this._createWidget(t,e),void 0):new o(t,e)},t.extend(o,n,{version:s.version,_proto:t.extend({},s),_childConstructors:[]}),a=new i,a.options=t.widget.extend({},a.options),t.each(s,function(e,s){return t.isFunction(s)?(r[e]=function(){function t(){return i.prototype[e].apply(this,arguments)}function n(t){return i.prototype[e].apply(this,t)}return function(){var e,i=this._super,o=this._superApply;return this._super=t,this._superApply=n,e=s.apply(this,arguments),this._super=i,this._superApply=o,e}}(),void 0):(r[e]=s,void 0)}),o.prototype=t.widget.extend(a,{widgetEventPrefix:n?a.widgetEventPrefix||e:e},r,{constructor:o,namespace:l,widgetName:e,widgetFullName:h}),n?(t.each(n._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,o,i._proto)}),delete n._childConstructors):i._childConstructors.push(o),t.widget.bridge(e,o),o},t.widget.extend=function(e){for(var s,n,o=i.call(arguments,1),a=0,r=o.length;r>a;a++)for(s in o[a])n=o[a][s],o[a].hasOwnProperty(s)&&void 0!==n&&(e[s]=t.isPlainObject(n)?t.isPlainObject(e[s])?t.widget.extend({},e[s],n):t.widget.extend({},n):n);return e},t.widget.bridge=function(e,s){var n=s.prototype.widgetFullName||e;t.fn[e]=function(o){var a="string"==typeof o,r=i.call(arguments,1),l=this;return a?this.length||"instance"!==o?this.each(function(){var i,s=t.data(this,n);return"instance"===o?(l=s,!1):s?t.isFunction(s[o])&&"_"!==o.charAt(0)?(i=s[o].apply(s,r),i!==s&&void 0!==i?(l=i&&i.jquery?l.pushStack(i.get()):i,!1):void 0):t.error("no such method '"+o+"' for "+e+" widget instance"):t.error("cannot call methods on "+e+" prior to initialization; "+"attempted to call method '"+o+"'")}):l=void 0:(r.length&&(o=t.widget.extend.apply(null,[o].concat(r))),this.each(function(){var e=t.data(this,n);e?(e.option(o||{}),e._init&&e._init()):t.data(this,n,new s(o,this))})),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{classes:{},disabled:!1,create:null},_createWidget:function(i,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=e++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=t(),this.hoverable=t(),this.focusable=t(),this.classesElementLookup={},s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this.options=t.widget.extend({},this.options,this._getCreateOptions(),i),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){var e=this;this._destroy(),t.each(this.classesElementLookup,function(t,i){e._removeClass(i,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:t.noop,widget:function(){return this.element},option:function(e,i){var s,n,o,a=e;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof e)if(a={},s=e.split("."),e=s.shift(),s.length){for(n=a[e]=t.widget.extend({},this.options[e]),o=0;s.length-1>o;o++)n[s[o]]=n[s[o]]||{},n=n[s[o]];if(e=s.pop(),1===arguments.length)return void 0===n[e]?null:n[e];n[e]=i}else{if(1===arguments.length)return void 0===this.options[e]?null:this.options[e];a[e]=i}return this._setOptions(a),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return"classes"===t&&this._setOptionClasses(e),this.options[t]=e,"disabled"===t&&this._setOptionDisabled(e),this},_setOptionClasses:function(e){var i,s,n;for(i in e)n=this.classesElementLookup[i],e[i]!==this.options.classes[i]&&n&&n.length&&(s=t(n.get()),this._removeClass(n,i),s.addClass(this._classes({element:s,keys:i,classes:e,add:!0})))},_setOptionDisabled:function(t){this._toggleClass(this.widget(),this.widgetFullName+"-disabled",null,!!t),t&&(this._removeClass(this.hoverable,null,"ui-state-hover"),this._removeClass(this.focusable,null,"ui-state-focus"))},enable:function(){return this._setOptions({disabled:!1})},disable:function(){return this._setOptions({disabled:!0})},_classes:function(e){function i(i,o){var a,r;for(r=0;i.length>r;r++)a=n.classesElementLookup[i[r]]||t(),a=e.add?t(t.unique(a.get().concat(e.element.get()))):t(a.not(e.element).get()),n.classesElementLookup[i[r]]=a,s.push(i[r]),o&&e.classes[i[r]]&&s.push(e.classes[i[r]])}var s=[],n=this;return e=t.extend({element:this.element,classes:this.options.classes||{}},e),this._on(e.element,{remove:"_untrackClassesElement"}),e.keys&&i(e.keys.match(/\S+/g)||[],!0),e.extra&&i(e.extra.match(/\S+/g)||[]),s.join(" ")},_untrackClassesElement:function(e){var i=this;t.each(i.classesElementLookup,function(s,n){-1!==t.inArray(e.target,n)&&(i.classesElementLookup[s]=t(n.not(e.target).get()))})},_removeClass:function(t,e,i){return this._toggleClass(t,e,i,!1)},_addClass:function(t,e,i){return this._toggleClass(t,e,i,!0)},_toggleClass:function(t,e,i,s){s="boolean"==typeof s?s:i;var n="string"==typeof t||null===t,o={extra:n?e:i,keys:n?t:e,element:n?this.element:t,add:s};return o.element.toggleClass(this._classes(o),s),this},_on:function(e,i,s){var n,o=this;"boolean"!=typeof e&&(s=i,i=e,e=!1),s?(i=n=t(i),this.bindings=this.bindings.add(i)):(s=i,i=this.element,n=this.widget()),t.each(s,function(s,a){function r(){return e||o.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof a?o[a]:a).apply(o,arguments):void 0}"string"!=typeof a&&(r.guid=a.guid=a.guid||r.guid||t.guid++);var l=s.match(/^([\w:-]*)\s*(.*)$/),h=l[1]+o.eventNamespace,c=l[2];c?n.on(h,c,r):i.on(h,r)})},_off:function(e,i){i=(i||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,e.off(i).off(i),this.bindings=t(this.bindings.not(e).get()),this.focusable=t(this.focusable.not(e).get()),this.hoverable=t(this.hoverable.not(e).get())},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){this._addClass(t(e.currentTarget),null,"ui-state-hover")},mouseleave:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){this._addClass(t(e.currentTarget),null,"ui-state-focus")},focusout:function(e){this._removeClass(t(e.currentTarget),null,"ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}}),t.widget,t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])}}),t.fn.extend({disableSelection:function(){var t="onselectstart"in document.createElement("div")?"selectstart":"mousedown";return function(){return this.on(t+".ui-disableSelection",function(t){t.preventDefault()})}}(),enableSelection:function(){return this.off(".ui-disableSelection")}}),t.fn.scrollParent=function(e){var i=this.css("position"),s="absolute"===i,n=e?/(auto|scroll|hidden)/:/(auto|scroll)/,o=this.parents().filter(function(){var e=t(this);return s&&"static"===e.css("position")?!1:n.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==i&&o.length?o:t(this[0].ownerDocument||document)},t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase());var s=!1;t(document).on("mouseup",function(){s=!1}),t.widget("ui.mouse",{version:"1.12.1",options:{cancel:"input, textarea, button, select, option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.on("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).on("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):void 0}),this.started=!1},_mouseDestroy:function(){this.element.off("."+this.widgetName),this._mouseMoveDelegate&&this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(e){if(!s){this._mouseMoved=!1,this._mouseStarted&&this._mouseUp(e),this._mouseDownEvent=e;var i=this,n=1===e.which,o="string"==typeof this.options.cancel&&e.target.nodeName?t(e.target).closest(this.options.cancel).length:!1;return n&&!o&&this._mouseCapture(e)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){i.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(e)!==!1,!this._mouseStarted)?(e.preventDefault(),!0):(!0===t.data(e.target,this.widgetName+".preventClickEvent")&&t.removeData(e.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return i._mouseMove(t)},this._mouseUpDelegate=function(t){return i._mouseUp(t)},this.document.on("mousemove."+this.widgetName,this._mouseMoveDelegate).on("mouseup."+this.widgetName,this._mouseUpDelegate),e.preventDefault(),s=!0,!0)):!0}},_mouseMove:function(e){if(this._mouseMoved){if(t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button)return this._mouseUp(e);if(!e.which)if(e.originalEvent.altKey||e.originalEvent.ctrlKey||e.originalEvent.metaKey||e.originalEvent.shiftKey)this.ignoreMissingWhich=!0;else if(!this.ignoreMissingWhich)return this._mouseUp(e)}return(e.which||e.button)&&(this._mouseMoved=!0),this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){this.document.off("mousemove."+this.widgetName,this._mouseMoveDelegate).off("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),this._mouseDelayTimer&&(clearTimeout(this._mouseDelayTimer),delete this._mouseDelayTimer),this.ignoreMissingWhich=!1,s=!1,e.preventDefault()},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}}),t.ui.plugin={add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i,s){var n,o=t.plugins[e];if(o&&(s||t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType))for(n=0;o.length>n;n++)t.options[o[n][0]]&&o[n][1].apply(t.element,i)}},t.ui.safeActiveElement=function(t){var e;try{e=t.activeElement}catch(i){e=t.body}return e||(e=t.body),e.nodeName||(e=t.body),e},t.ui.safeBlur=function(e){e&&"body"!==e.nodeName.toLowerCase()&&t(e).trigger("blur")},t.widget("ui.draggable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"===this.options.helper&&this._setPositionRelative(),this.options.addClasses&&this._addClass("ui-draggable"),this._setHandleClassName(),this._mouseInit()},_setOption:function(t,e){this._super(t,e),"handle"===t&&(this._removeHandleClassName(),this._setHandleClassName())},_destroy:function(){return(this.helper||this.element).is(".ui-draggable-dragging")?(this.destroyOnClear=!0,void 0):(this._removeHandleClassName(),this._mouseDestroy(),void 0)},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(this._blurActiveElement(e),this._blockFrames(i.iframeFix===!0?"iframe":i.iframeFix),!0):!1)},_blockFrames:function(e){this.iframeBlocks=this.document.find(e).map(function(){var e=t(this);return t("<div>").css("position","absolute").appendTo(e.parent()).outerWidth(e.outerWidth()).outerHeight(e.outerHeight()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_blurActiveElement:function(e){var i=t.ui.safeActiveElement(this.document[0]),s=t(e.target);s.closest(i).length||t.ui.safeBlur(i)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this._addClass(this.helper,"ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(!0),this.offsetParent=this.helper.offsetParent(),this.hasFixedAncestor=this.helper.parents().filter(function(){return"fixed"===t(this).css("position")}).length>0,this.positionAbs=this.element.offset(),this._refreshOffsets(e),this.originalPosition=this.position=this._generatePosition(e,!1),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_refreshOffsets:function(t){this.offset={top:this.positionAbs.top-this.margins.top,left:this.positionAbs.left-this.margins.left,scroll:!1,parent:this._getParentOffset(),relative:this._getRelativeOffset()},this.offset.click={left:t.pageX-this.offset.left,top:t.pageY-this.offset.top}},_mouseDrag:function(e,i){if(this.hasFixedAncestor&&(this.offset.parent=this._getParentOffset()),this.position=this._generatePosition(e,!0),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp(new t.Event("mouseup",e)),!1;this.position=s.position}return this.helper[0].style.left=this.position.left+"px",this.helper[0].style.top=this.position.top+"px",t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i=this,s=!1;return t.ui.ddmanager&&!this.options.dropBehaviour&&(s=t.ui.ddmanager.drop(this,e)),this.dropped&&(s=this.dropped,this.dropped=!1),"invalid"===this.options.revert&&!s||"valid"===this.options.revert&&s||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,s)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){i._trigger("stop",e)!==!1&&i._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1},_mouseUp:function(e){return this._unblockFrames(),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),this.handleElement.is(e.target)&&this.element.trigger("focus"),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp(new t.Event("mouseup",{target:this.element[0]})):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_setHandleClassName:function(){this.handleElement=this.options.handle?this.element.find(this.options.handle):this.element,this._addClass(this.handleElement,"ui-draggable-handle")},_removeHandleClassName:function(){this._removeClass(this.handleElement,"ui-draggable-handle")},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper),n=s?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return n.parents("body").length||n.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s&&n[0]===this.element[0]&&this._setPositionRelative(),n[0]===this.element[0]||/(fixed|absolute)/.test(n.css("position"))||n.css("position","absolute"),n},_setPositionRelative:function(){/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative")},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_isRootNode:function(t){return/(html|body)/i.test(t.tagName)||t===this.document[0]},_getParentOffset:function(){var e=this.offsetParent.offset(),i=this.document[0];return"absolute"===this.cssPosition&&this.scrollParent[0]!==i&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),this._isRootNode(this.offsetParent[0])&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"!==this.cssPosition)return{top:0,left:0};var t=this.element.position(),e=this._isRootNode(this.scrollParent[0]);return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+(e?0:this.scrollParent.scrollTop()),left:t.left-(parseInt(this.helper.css("left"),10)||0)+(e?0:this.scrollParent.scrollLeft())}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options,o=this.document[0];return this.relativeContainer=null,n.containment?"window"===n.containment?(this.containment=[t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,t(window).scrollLeft()+t(window).width()-this.helperProportions.width-this.margins.left,t(window).scrollTop()+(t(window).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):"document"===n.containment?(this.containment=[0,0,t(o).width()-this.helperProportions.width-this.margins.left,(t(o).height()||o.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top],void 0):n.containment.constructor===Array?(this.containment=n.containment,void 0):("parent"===n.containment&&(n.containment=this.helper[0].parentNode),i=t(n.containment),s=i[0],s&&(e=/(scroll|auto)/.test(i.css("overflow")),this.containment=[(parseInt(i.css("borderLeftWidth"),10)||0)+(parseInt(i.css("paddingLeft"),10)||0),(parseInt(i.css("borderTopWidth"),10)||0)+(parseInt(i.css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(i.css("borderRightWidth"),10)||0)-(parseInt(i.css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(i.css("borderBottomWidth"),10)||0)-(parseInt(i.css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relativeContainer=i),void 0):(this.containment=null,void 0)},_convertPositionTo:function(t,e){e||(e=this.position);var i="absolute"===t?1:-1,s=this._isRootNode(this.scrollParent[0]);return{top:e.top+this.offset.relative.top*i+this.offset.parent.top*i-("fixed"===this.cssPosition?-this.offset.scroll.top:s?0:this.offset.scroll.top)*i,left:e.left+this.offset.relative.left*i+this.offset.parent.left*i-("fixed"===this.cssPosition?-this.offset.scroll.left:s?0:this.offset.scroll.left)*i}},_generatePosition:function(t,e){var i,s,n,o,a=this.options,r=this._isRootNode(this.scrollParent[0]),l=t.pageX,h=t.pageY;return r&&this.offset.scroll||(this.offset.scroll={top:this.scrollParent.scrollTop(),left:this.scrollParent.scrollLeft()}),e&&(this.containment&&(this.relativeContainer?(s=this.relativeContainer.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,t.pageX-this.offset.click.left<i[0]&&(l=i[0]+this.offset.click.left),t.pageY-this.offset.click.top<i[1]&&(h=i[1]+this.offset.click.top),t.pageX-this.offset.click.left>i[2]&&(l=i[2]+this.offset.click.left),t.pageY-this.offset.click.top>i[3]&&(h=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,h=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,l=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o),"y"===a.axis&&(l=this.originalPageX),"x"===a.axis&&(h=this.originalPageY)),{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.offset.scroll.top:r?0:this.offset.scroll.top),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.offset.scroll.left:r?0:this.offset.scroll.left)}},_clear:function(){this._removeClass(this.helper,"ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1,this.destroyOnClear&&this.destroy()},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s,this],!0),/^(drag|start|stop)/.test(e)&&(this.positionAbs=this._convertPositionTo("absolute"),s.offset=this.positionAbs),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i,s){var n=t.extend({},i,{item:s.element});s.sortables=[],t(s.options.connectToSortable).each(function(){var i=t(this).sortable("instance");i&&!i.options.disabled&&(s.sortables.push(i),i.refreshPositions(),i._trigger("activate",e,n))})},stop:function(e,i,s){var n=t.extend({},i,{item:s.element});s.cancelHelperRemoval=!1,t.each(s.sortables,function(){var t=this;t.isOver?(t.isOver=0,s.cancelHelperRemoval=!0,t.cancelHelperRemoval=!1,t._storedCSS={position:t.placeholder.css("position"),top:t.placeholder.css("top"),left:t.placeholder.css("left")},t._mouseStop(e),t.options.helper=t.options._helper):(t.cancelHelperRemoval=!0,t._trigger("deactivate",e,n))})},drag:function(e,i,s){t.each(s.sortables,function(){var n=!1,o=this;o.positionAbs=s.positionAbs,o.helperProportions=s.helperProportions,o.offset.click=s.offset.click,o._intersectsWith(o.containerCache)&&(n=!0,t.each(s.sortables,function(){return this.positionAbs=s.positionAbs,this.helperProportions=s.helperProportions,this.offset.click=s.offset.click,this!==o&&this._intersectsWith(this.containerCache)&&t.contains(o.element[0],this.element[0])&&(n=!1),n})),n?(o.isOver||(o.isOver=1,s._parent=i.helper.parent(),o.currentItem=i.helper.appendTo(o.element).data("ui-sortable-item",!0),o.options._helper=o.options.helper,o.options.helper=function(){return i.helper[0]},e.target=o.currentItem[0],o._mouseCapture(e,!0),o._mouseStart(e,!0,!0),o.offset.click.top=s.offset.click.top,o.offset.click.left=s.offset.click.left,o.offset.parent.left-=s.offset.parent.left-o.offset.parent.left,o.offset.parent.top-=s.offset.parent.top-o.offset.parent.top,s._trigger("toSortable",e),s.dropped=o.element,t.each(s.sortables,function(){this.refreshPositions()}),s.currentItem=s.element,o.fromOutside=s),o.currentItem&&(o._mouseDrag(e),i.position=o.position)):o.isOver&&(o.isOver=0,o.cancelHelperRemoval=!0,o.options._revert=o.options.revert,o.options.revert=!1,o._trigger("out",e,o._uiHash(o)),o._mouseStop(e,!0),o.options.revert=o.options._revert,o.options.helper=o.options._helper,o.placeholder&&o.placeholder.remove(),i.helper.appendTo(s._parent),s._refreshOffsets(e),i.position=s._generatePosition(e,!0),s._trigger("fromSortable",e),s.dropped=!1,t.each(s.sortables,function(){this.refreshPositions()}))})}}),t.ui.plugin.add("draggable","cursor",{start:function(e,i,s){var n=t("body"),o=s.options;n.css("cursor")&&(o._cursor=n.css("cursor")),n.css("cursor",o.cursor)},stop:function(e,i,s){var n=s.options;n._cursor&&t("body").css("cursor",n._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("opacity")&&(o._opacity=n.css("opacity")),n.css("opacity",o.opacity)},stop:function(e,i,s){var n=s.options;n._opacity&&t(i.helper).css("opacity",n._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(t,e,i){i.scrollParentNotHidden||(i.scrollParentNotHidden=i.helper.scrollParent(!1)),i.scrollParentNotHidden[0]!==i.document[0]&&"HTML"!==i.scrollParentNotHidden[0].tagName&&(i.overflowOffset=i.scrollParentNotHidden.offset())},drag:function(e,i,s){var n=s.options,o=!1,a=s.scrollParentNotHidden[0],r=s.document[0];a!==r&&"HTML"!==a.tagName?(n.axis&&"x"===n.axis||(s.overflowOffset.top+a.offsetHeight-e.pageY<n.scrollSensitivity?a.scrollTop=o=a.scrollTop+n.scrollSpeed:e.pageY-s.overflowOffset.top<n.scrollSensitivity&&(a.scrollTop=o=a.scrollTop-n.scrollSpeed)),n.axis&&"y"===n.axis||(s.overflowOffset.left+a.offsetWidth-e.pageX<n.scrollSensitivity?a.scrollLeft=o=a.scrollLeft+n.scrollSpeed:e.pageX-s.overflowOffset.left<n.scrollSensitivity&&(a.scrollLeft=o=a.scrollLeft-n.scrollSpeed))):(n.axis&&"x"===n.axis||(e.pageY-t(r).scrollTop()<n.scrollSensitivity?o=t(r).scrollTop(t(r).scrollTop()-n.scrollSpeed):t(window).height()-(e.pageY-t(r).scrollTop())<n.scrollSensitivity&&(o=t(r).scrollTop(t(r).scrollTop()+n.scrollSpeed))),n.axis&&"y"===n.axis||(e.pageX-t(r).scrollLeft()<n.scrollSensitivity?o=t(r).scrollLeft(t(r).scrollLeft()-n.scrollSpeed):t(window).width()-(e.pageX-t(r).scrollLeft())<n.scrollSensitivity&&(o=t(r).scrollLeft(t(r).scrollLeft()+n.scrollSpeed)))),o!==!1&&t.ui.ddmanager&&!n.dropBehaviour&&t.ui.ddmanager.prepareOffsets(s,e)}}),t.ui.plugin.add("draggable","snap",{start:function(e,i,s){var n=s.options;s.snapElements=[],t(n.snap.constructor!==String?n.snap.items||":data(ui-draggable)":n.snap).each(function(){var e=t(this),i=e.offset();this!==s.element[0]&&s.snapElements.push({item:this,width:e.outerWidth(),height:e.outerHeight(),top:i.top,left:i.left})})},drag:function(e,i,s){var n,o,a,r,l,h,c,u,d,p,f=s.options,m=f.snapTolerance,g=i.offset.left,v=g+s.helperProportions.width,_=i.offset.top,b=_+s.helperProportions.height;for(d=s.snapElements.length-1;d>=0;d--)l=s.snapElements[d].left-s.margins.left,h=l+s.snapElements[d].width,c=s.snapElements[d].top-s.margins.top,u=c+s.snapElements[d].height,l-m>v||g>h+m||c-m>b||_>u+m||!t.contains(s.snapElements[d].item.ownerDocument,s.snapElements[d].item)?(s.snapElements[d].snapping&&s.options.snap.release&&s.options.snap.release.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=!1):("inner"!==f.snapMode&&(n=m>=Math.abs(c-b),o=m>=Math.abs(u-_),a=m>=Math.abs(l-v),r=m>=Math.abs(h-g),n&&(i.position.top=s._convertPositionTo("relative",{top:c-s.helperProportions.height,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l-s.helperProportions.width}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h}).left)),p=n||o||a||r,"outer"!==f.snapMode&&(n=m>=Math.abs(c-_),o=m>=Math.abs(u-b),a=m>=Math.abs(l-g),r=m>=Math.abs(h-v),n&&(i.position.top=s._convertPositionTo("relative",{top:c,left:0}).top),o&&(i.position.top=s._convertPositionTo("relative",{top:u-s.helperProportions.height,left:0}).top),a&&(i.position.left=s._convertPositionTo("relative",{top:0,left:l}).left),r&&(i.position.left=s._convertPositionTo("relative",{top:0,left:h-s.helperProportions.width}).left)),!s.snapElements[d].snapping&&(n||o||a||r||p)&&s.options.snap.snap&&s.options.snap.snap.call(s.element,e,t.extend(s._uiHash(),{snapItem:s.snapElements[d].item})),s.snapElements[d].snapping=n||o||a||r||p)}}),t.ui.plugin.add("draggable","stack",{start:function(e,i,s){var n,o=s.options,a=t.makeArray(t(o.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});a.length&&(n=parseInt(t(a[0]).css("zIndex"),10)||0,t(a).each(function(e){t(this).css("zIndex",n+e)}),this.css("zIndex",n+a.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i,s){var n=t(i.helper),o=s.options;n.css("zIndex")&&(o._zIndex=n.css("zIndex")),n.css("zIndex",o.zIndex)},stop:function(e,i,s){var n=s.options;n._zIndex&&t(i.helper).css("zIndex",n._zIndex)}}),t.ui.draggable,t.widget("ui.resizable",t.ui.mouse,{version:"1.12.1",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,classes:{"ui-resizable-se":"ui-icon ui-icon-gripsmall-diagonal-se"},containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_num:function(t){return parseFloat(t)||0},_isNumber:function(t){return!isNaN(parseFloat(t))},_hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)},_create:function(){var e,i=this.options,s=this;this._addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!i.aspectRatio,aspectRatio:i.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:i.helper||i.ghost||i.animate?i.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.resizable("instance")),this.elementIsWrapper=!0,e={marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom"),marginLeft:this.originalElement.css("marginLeft")},this.element.css(e),this.originalElement.css("margin",0),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css(e),this._proportionallyResize()),this._setupHandles(),i.autoHide&&t(this.element).on("mouseenter",function(){i.disabled||(s._removeClass("ui-resizable-autohide"),s._handles.show())
-}).on("mouseleave",function(){i.disabled||s.resizing||(s._addClass("ui-resizable-autohide"),s._handles.hide())}),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_setOption:function(t,e){switch(this._super(t,e),t){case"handles":this._removeHandles(),this._setupHandles();break;default:}},_setupHandles:function(){var e,i,s,n,o,a=this.options,r=this;if(this.handles=a.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this._handles=t(),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),s=this.handles.split(","),this.handles={},i=0;s.length>i;i++)e=t.trim(s[i]),n="ui-resizable-"+e,o=t("<div>"),this._addClass(o,"ui-resizable-handle "+n),o.css({zIndex:a.zIndex}),this.handles[e]=".ui-resizable-"+e,this.element.append(o);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String?this.handles[i]=this.element.children(this.handles[i]).first().show():(this.handles[i].jquery||this.handles[i].nodeType)&&(this.handles[i]=t(this.handles[i]),this._on(this.handles[i],{mousedown:r._mouseDown})),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),this._handles=this._handles.add(this.handles[i])},this._renderAxis(this.element),this._handles=this._handles.add(this.element.find(".ui-resizable-handle")),this._handles.disableSelection(),this._handles.on("mouseover",function(){r.resizing||(this.className&&(o=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),r.axis=o&&o[1]?o[1]:"se")}),a.autoHide&&(this._handles.hide(),this._addClass("ui-resizable-autohide"))},_removeHandles:function(){this._handles.remove()},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(e){var i,s,n,o=this.options,a=this.element;return this.resizing=!0,this._renderProxy(),i=this._num(this.helper.css("left")),s=this._num(this.helper.css("top")),o.containment&&(i+=t(o.containment).scrollLeft()||0,s+=t(o.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:i,top:s},this.size=this._helper?{width:this.helper.width(),height:this.helper.height()}:{width:a.width(),height:a.height()},this.originalSize=this._helper?{width:a.outerWidth(),height:a.outerHeight()}:{width:a.width(),height:a.height()},this.sizeDiff={width:a.outerWidth()-a.width(),height:a.outerHeight()-a.height()},this.originalPosition={left:i,top:s},this.originalMousePosition={left:e.pageX,top:e.pageY},this.aspectRatio="number"==typeof o.aspectRatio?o.aspectRatio:this.originalSize.width/this.originalSize.height||1,n=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===n?this.axis+"-resize":n),this._addClass("ui-resizable-resizing"),this._propagate("start",e),!0},_mouseDrag:function(e){var i,s,n=this.originalMousePosition,o=this.axis,a=e.pageX-n.left||0,r=e.pageY-n.top||0,l=this._change[o];return this._updatePrevProperties(),l?(i=l.apply(this,[e,a,r]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),s=this._applyChanges(),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(s)||(this._updatePrevProperties(),this._trigger("resize",e,this.ui()),this._applyChanges()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,l,h=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&this._hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseFloat(c.element.css("left"))+(c.position.left-c.originalPosition.left)||null,l=parseFloat(c.element.css("top"))+(c.position.top-c.originalPosition.top)||null,h.animate||this.element.css(t.extend(a,{top:l,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!h.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this._removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updatePrevProperties:function(){this.prevPosition={top:this.position.top,left:this.position.left},this.prevSize={width:this.size.width,height:this.size.height}},_applyChanges:function(){var t={};return this.position.top!==this.prevPosition.top&&(t.top=this.position.top+"px"),this.position.left!==this.prevPosition.left&&(t.left=this.position.left+"px"),this.size.width!==this.prevSize.width&&(t.width=this.size.width+"px"),this.size.height!==this.prevSize.height&&(t.height=this.size.height+"px"),this.helper.css(t),t},_updateVirtualBoundaries:function(t){var e,i,s,n,o,a=this.options;o={minWidth:this._isNumber(a.minWidth)?a.minWidth:0,maxWidth:this._isNumber(a.maxWidth)?a.maxWidth:1/0,minHeight:this._isNumber(a.minHeight)?a.minHeight:0,maxHeight:this._isNumber(a.maxHeight)?a.maxHeight:1/0},(this._aspectRatio||t)&&(e=o.minHeight*this.aspectRatio,s=o.minWidth/this.aspectRatio,i=o.maxHeight*this.aspectRatio,n=o.maxWidth/this.aspectRatio,e>o.minWidth&&(o.minWidth=e),s>o.minHeight&&(o.minHeight=s),o.maxWidth>i&&(o.maxWidth=i),o.maxHeight>n&&(o.maxHeight=n)),this._vBoundaries=o},_updateCache:function(t){this.offset=this.helper.offset(),this._isNumber(t.left)&&(this.position.left=t.left),this._isNumber(t.top)&&(this.position.top=t.top),this._isNumber(t.height)&&(this.size.height=t.height),this._isNumber(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,i=this.size,s=this.axis;return this._isNumber(t.height)?t.width=t.height*this.aspectRatio:this._isNumber(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===s&&(t.left=e.left+(i.width-t.width),t.top=null),"nw"===s&&(t.top=e.top+(i.height-t.height),t.left=e.left+(i.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,i=this.axis,s=this._isNumber(t.width)&&e.maxWidth&&e.maxWidth<t.width,n=this._isNumber(t.height)&&e.maxHeight&&e.maxHeight<t.height,o=this._isNumber(t.width)&&e.minWidth&&e.minWidth>t.width,a=this._isNumber(t.height)&&e.minHeight&&e.minHeight>t.height,r=this.originalPosition.left+this.originalSize.width,l=this.originalPosition.top+this.originalSize.height,h=/sw|nw|w/.test(i),c=/nw|ne|n/.test(i);return o&&(t.width=e.minWidth),a&&(t.height=e.minHeight),s&&(t.width=e.maxWidth),n&&(t.height=e.maxHeight),o&&h&&(t.left=r-e.minWidth),s&&h&&(t.left=r-e.maxWidth),a&&c&&(t.top=l-e.minHeight),n&&c&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_getPaddingPlusBorderDimensions:function(t){for(var e=0,i=[],s=[t.css("borderTopWidth"),t.css("borderRightWidth"),t.css("borderBottomWidth"),t.css("borderLeftWidth")],n=[t.css("paddingTop"),t.css("paddingRight"),t.css("paddingBottom"),t.css("paddingLeft")];4>e;e++)i[e]=parseFloat(s[e])||0,i[e]+=parseFloat(n[e])||0;return{height:i[0]+i[2],width:i[1]+i[3]}},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var t,e=0,i=this.helper||this.element;this._proportionallyResizeElements.length>e;e++)t=this._proportionallyResizeElements[e],this.outerDimensions||(this.outerDimensions=this._getPaddingPlusBorderDimensions(t)),t.css({height:i.height()-this.outerDimensions.height||0,width:i.width()-this.outerDimensions.width||0})},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this._addClass(this.helper,this._helper),this.helper.css({width:this.element.outerWidth(),height:this.element.outerHeight(),position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).resizable("instance"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&i._hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,l={width:i.size.width-r,height:i.size.height-a},h=parseFloat(i.element.css("left"))+(i.position.left-i.originalPosition.left)||null,c=parseFloat(i.element.css("top"))+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(l,c&&h?{top:c,left:h}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseFloat(i.element.css("width")),height:parseFloat(i.element.css("height")),top:parseFloat(i.element.css("top")),left:parseFloat(i.element.css("left"))};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var e,i,s,n,o,a,r,l=t(this).resizable("instance"),h=l.options,c=l.element,u=h.containment,d=u instanceof t?u.get(0):/parent/.test(u)?c.parent().get(0):u;d&&(l.containerElement=t(d),/document/.test(u)||u===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(e=t(d),i=[],t(["Top","Right","Left","Bottom"]).each(function(t,s){i[t]=l._num(e.css("padding"+s))}),l.containerOffset=e.offset(),l.containerPosition=e.position(),l.containerSize={height:e.innerHeight()-i[3],width:e.innerWidth()-i[1]},s=l.containerOffset,n=l.containerSize.height,o=l.containerSize.width,a=l._hasScroll(d,"left")?d.scrollWidth:o,r=l._hasScroll(d)?d.scrollHeight:n,l.parentData={element:d,left:s.left,top:s.top,width:a,height:r}))},resize:function(e){var i,s,n,o,a=t(this).resizable("instance"),r=a.options,l=a.containerOffset,h=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement,p=!0;d[0]!==document&&/static/.test(d.css("position"))&&(u=l),h.left<(a._helper?l.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-l.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio,p=!1),a.position.left=r.helper?l.left:0),h.top<(a._helper?l.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-l.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio,p=!1),a.position.top=a._helper?l.top:0),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o?(a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top):(a.offset.left=a.element.offset().left,a.offset.top=a.element.offset().top),i=Math.abs(a.sizeDiff.width+(a._helper?a.offset.left-u.left:a.offset.left-l.left)),s=Math.abs(a.sizeDiff.height+(a._helper?a.offset.top-u.top:a.offset.top-l.top)),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio,p=!1)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio,p=!1)),p||(a.position.left=a.prevPosition.left,a.position.top=a.prevPosition.top,a.size.width=a.prevSize.width,a.size.height=a.prevSize.height)},stop:function(){var e=t(this).resizable("instance"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),l=a.outerWidth()-e.sizeDiff.width,h=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:l,height:h}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:l,height:h})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).resizable("instance"),i=e.options;t(i.alsoResize).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseFloat(e.width()),height:parseFloat(e.height()),left:parseFloat(e.css("left")),top:parseFloat(e.css("top"))})})},resize:function(e,i){var s=t(this).resizable("instance"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0};t(n.alsoResize).each(function(){var e=t(this),s=t(this).data("ui-resizable-alsoresize"),n={},o=e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(o,function(t,e){var i=(s[e]||0)+(r[e]||0);i&&i>=0&&(n[e]=i||null)}),e.css(n)})},stop:function(){t(this).removeData("ui-resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).resizable("instance"),i=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:i.height,width:i.width,margin:0,left:0,top:0}),e._addClass(e.ghost,"ui-resizable-ghost"),t.uiBackCompat!==!1&&"string"==typeof e.options.ghost&&e.ghost.addClass(this.options.ghost),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).resizable("instance");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).resizable("instance");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e,i=t(this).resizable("instance"),s=i.options,n=i.size,o=i.originalSize,a=i.originalPosition,r=i.axis,l="number"==typeof s.grid?[s.grid,s.grid]:s.grid,h=l[0]||1,c=l[1]||1,u=Math.round((n.width-o.width)/h)*h,d=Math.round((n.height-o.height)/c)*c,p=o.width+u,f=o.height+d,m=s.maxWidth&&p>s.maxWidth,g=s.maxHeight&&f>s.maxHeight,v=s.minWidth&&s.minWidth>p,_=s.minHeight&&s.minHeight>f;s.grid=l,v&&(p+=h),_&&(f+=c),m&&(p-=h),g&&(f-=c),/^(se|s|e)$/.test(r)?(i.size.width=p,i.size.height=f):/^(ne)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.top=a.top-d):/^(sw)$/.test(r)?(i.size.width=p,i.size.height=f,i.position.left=a.left-u):((0>=f-c||0>=p-h)&&(e=i._getPaddingPlusBorderDimensions(this)),f-c>0?(i.size.height=f,i.position.top=a.top-d):(f=c-e.height,i.size.height=f,i.position.top=a.top+o.height-f),p-h>0?(i.size.width=p,i.position.left=a.left-u):(p=h-e.width,i.size.width=p,i.position.left=a.left+o.width-p))}}),t.ui.resizable}); \ No newline at end of file
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.css b/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.css
deleted file mode 100644
index 2032948..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.css
+++ /dev/null
@@ -1,170 +0,0 @@
-/*!
- * jQuery UI CSS Framework 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/theming/
- */
-.ui-draggable-handle {
- -ms-touch-action: none;
- touch-action: none;
-}
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden {
- display: none;
-}
-.ui-helper-hidden-accessible {
- border: 0;
- clip: rect(0 0 0 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px;
-}
-.ui-helper-reset {
- margin: 0;
- padding: 0;
- border: 0;
- outline: 0;
- line-height: 1.3;
- text-decoration: none;
- font-size: 100%;
- list-style: none;
-}
-.ui-helper-clearfix:before,
-.ui-helper-clearfix:after {
- content: "";
- display: table;
- border-collapse: collapse;
-}
-.ui-helper-clearfix:after {
- clear: both;
-}
-.ui-helper-zfix {
- width: 100%;
- height: 100%;
- top: 0;
- left: 0;
- position: absolute;
- opacity: 0;
- filter:Alpha(Opacity=0); /* support: IE8 */
-}
-
-.ui-front {
- z-index: 100;
-}
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled {
- cursor: default !important;
- pointer-events: none;
-}
-
-
-/* Icons
-----------------------------------*/
-.ui-icon {
- display: inline-block;
- vertical-align: middle;
- margin-top: -.25em;
- position: relative;
- text-indent: -99999px;
- overflow: hidden;
- background-repeat: no-repeat;
-}
-
-.ui-widget-icon-block {
- left: 50%;
- margin-left: -8px;
- display: block;
-}
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
-}
-.ui-resizable {
- position: relative;
-}
-.ui-resizable-handle {
- position: absolute;
- font-size: 0.1px;
- display: block;
- -ms-touch-action: none;
- touch-action: none;
-}
-.ui-resizable-disabled .ui-resizable-handle,
-.ui-resizable-autohide .ui-resizable-handle {
- display: none;
-}
-.ui-resizable-n {
- cursor: n-resize;
- height: 7px;
- width: 100%;
- top: -5px;
- left: 0;
-}
-.ui-resizable-s {
- cursor: s-resize;
- height: 7px;
- width: 100%;
- bottom: -5px;
- left: 0;
-}
-.ui-resizable-e {
- cursor: e-resize;
- width: 7px;
- right: -5px;
- top: 0;
- height: 100%;
-}
-.ui-resizable-w {
- cursor: w-resize;
- width: 7px;
- left: -5px;
- top: 0;
- height: 100%;
-}
-.ui-resizable-se {
- cursor: se-resize;
- width: 12px;
- height: 12px;
- right: 1px;
- bottom: 1px;
-}
-.ui-resizable-sw {
- cursor: sw-resize;
- width: 9px;
- height: 9px;
- left: -5px;
- bottom: -5px;
-}
-.ui-resizable-nw {
- cursor: nw-resize;
- width: 9px;
- height: 9px;
- left: -5px;
- top: -5px;
-}
-.ui-resizable-ne {
- cursor: ne-resize;
- width: 9px;
- height: 9px;
- right: -5px;
- top: -5px;
-}
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.min.css b/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.min.css
deleted file mode 100644
index 3b1d670..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.structure.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery UI - v1.12.1 - 2018-03-18
-* http://jqueryui.com
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px} \ No newline at end of file
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.theme.css b/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.theme.css
deleted file mode 100644
index f559ff3..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.theme.css
+++ /dev/null
@@ -1,443 +0,0 @@
-/*!
- * jQuery UI CSS Framework 1.12.1
- * http://jqueryui.com
- *
- * Copyright jQuery Foundation and other contributors
- * Released under the MIT license.
- * http://jquery.org/license
- *
- * http://api.jqueryui.com/category/theming/
- *
- * To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
- */
-
-
-/* Component containers
-----------------------------------*/
-.ui-widget {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget .ui-widget {
- font-size: 1em;
-}
-.ui-widget input,
-.ui-widget select,
-.ui-widget textarea,
-.ui-widget button {
- font-family: Arial,Helvetica,sans-serif;
- font-size: 1em;
-}
-.ui-widget.ui-widget-content {
- border: 1px solid #c5c5c5;
-}
-.ui-widget-content {
- border: 1px solid #dddddd;
- background: #ffffff;
- color: #333333;
-}
-.ui-widget-content a {
- color: #333333;
-}
-.ui-widget-header {
- border: 1px solid #dddddd;
- background: #e9e9e9;
- color: #333333;
- font-weight: bold;
-}
-.ui-widget-header a {
- color: #333333;
-}
-
-/* Interaction states
-----------------------------------*/
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default,
-.ui-button,
-
-/* We use html here because we need a greater specificity to make sure disabled
-works properly when clicked or hovered */
-html .ui-button.ui-state-disabled:hover,
-html .ui-button.ui-state-disabled:active {
- border: 1px solid #c5c5c5;
- background: #f6f6f6;
- font-weight: normal;
- color: #454545;
-}
-.ui-state-default a,
-.ui-state-default a:link,
-.ui-state-default a:visited,
-a.ui-button,
-a:link.ui-button,
-a:visited.ui-button,
-.ui-button {
- color: #454545;
- text-decoration: none;
-}
-.ui-state-hover,
-.ui-widget-content .ui-state-hover,
-.ui-widget-header .ui-state-hover,
-.ui-state-focus,
-.ui-widget-content .ui-state-focus,
-.ui-widget-header .ui-state-focus,
-.ui-button:hover,
-.ui-button:focus {
- border: 1px solid #cccccc;
- background: #ededed;
- font-weight: normal;
- color: #2b2b2b;
-}
-.ui-state-hover a,
-.ui-state-hover a:hover,
-.ui-state-hover a:link,
-.ui-state-hover a:visited,
-.ui-state-focus a,
-.ui-state-focus a:hover,
-.ui-state-focus a:link,
-.ui-state-focus a:visited,
-a.ui-button:hover,
-a.ui-button:focus {
- color: #2b2b2b;
- text-decoration: none;
-}
-
-.ui-visual-focus {
- box-shadow: 0 0 3px 1px rgb(94, 158, 214);
-}
-.ui-state-active,
-.ui-widget-content .ui-state-active,
-.ui-widget-header .ui-state-active,
-a.ui-button:active,
-.ui-button:active,
-.ui-button.ui-state-active:hover {
- border: 1px solid #003eff;
- background: #007fff;
- font-weight: normal;
- color: #ffffff;
-}
-.ui-icon-background,
-.ui-state-active .ui-icon-background {
- border: #003eff;
- background-color: #ffffff;
-}
-.ui-state-active a,
-.ui-state-active a:link,
-.ui-state-active a:visited {
- color: #ffffff;
- text-decoration: none;
-}
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-highlight,
-.ui-widget-content .ui-state-highlight,
-.ui-widget-header .ui-state-highlight {
- border: 1px solid #dad55e;
- background: #fffa90;
- color: #777620;
-}
-.ui-state-checked {
- border: 1px solid #dad55e;
- background: #fffa90;
-}
-.ui-state-highlight a,
-.ui-widget-content .ui-state-highlight a,
-.ui-widget-header .ui-state-highlight a {
- color: #777620;
-}
-.ui-state-error,
-.ui-widget-content .ui-state-error,
-.ui-widget-header .ui-state-error {
- border: 1px solid #f1a899;
- background: #fddfdf;
- color: #5f3f3f;
-}
-.ui-state-error a,
-.ui-widget-content .ui-state-error a,
-.ui-widget-header .ui-state-error a {
- color: #5f3f3f;
-}
-.ui-state-error-text,
-.ui-widget-content .ui-state-error-text,
-.ui-widget-header .ui-state-error-text {
- color: #5f3f3f;
-}
-.ui-priority-primary,
-.ui-widget-content .ui-priority-primary,
-.ui-widget-header .ui-priority-primary {
- font-weight: bold;
-}
-.ui-priority-secondary,
-.ui-widget-content .ui-priority-secondary,
-.ui-widget-header .ui-priority-secondary {
- opacity: .7;
- filter:Alpha(Opacity=70); /* support: IE8 */
- font-weight: normal;
-}
-.ui-state-disabled,
-.ui-widget-content .ui-state-disabled,
-.ui-widget-header .ui-state-disabled {
- opacity: .35;
- filter:Alpha(Opacity=35); /* support: IE8 */
- background-image: none;
-}
-.ui-state-disabled .ui-icon {
- filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
-}
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
- width: 16px;
- height: 16px;
-}
-.ui-icon,
-.ui-widget-content .ui-icon {
- background-image: url("images/ui-icons_444444_256x240.png");
-}
-.ui-widget-header .ui-icon {
- background-image: url("images/ui-icons_444444_256x240.png");
-}
-.ui-state-hover .ui-icon,
-.ui-state-focus .ui-icon,
-.ui-button:hover .ui-icon,
-.ui-button:focus .ui-icon {
- background-image: url("images/ui-icons_555555_256x240.png");
-}
-.ui-state-active .ui-icon,
-.ui-button:active .ui-icon {
- background-image: url("images/ui-icons_ffffff_256x240.png");
-}
-.ui-state-highlight .ui-icon,
-.ui-button .ui-state-highlight.ui-icon {
- background-image: url("images/ui-icons_777620_256x240.png");
-}
-.ui-state-error .ui-icon,
-.ui-state-error-text .ui-icon {
- background-image: url("images/ui-icons_cc0000_256x240.png");
-}
-.ui-button .ui-icon {
- background-image: url("images/ui-icons_777777_256x240.png");
-}
-
-/* positioning */
-.ui-icon-blank { background-position: 16px 16px; }
-.ui-icon-caret-1-n { background-position: 0 0; }
-.ui-icon-caret-1-ne { background-position: -16px 0; }
-.ui-icon-caret-1-e { background-position: -32px 0; }
-.ui-icon-caret-1-se { background-position: -48px 0; }
-.ui-icon-caret-1-s { background-position: -65px 0; }
-.ui-icon-caret-1-sw { background-position: -80px 0; }
-.ui-icon-caret-1-w { background-position: -96px 0; }
-.ui-icon-caret-1-nw { background-position: -112px 0; }
-.ui-icon-caret-2-n-s { background-position: -128px 0; }
-.ui-icon-caret-2-e-w { background-position: -144px 0; }
-.ui-icon-triangle-1-n { background-position: 0 -16px; }
-.ui-icon-triangle-1-ne { background-position: -16px -16px; }
-.ui-icon-triangle-1-e { background-position: -32px -16px; }
-.ui-icon-triangle-1-se { background-position: -48px -16px; }
-.ui-icon-triangle-1-s { background-position: -65px -16px; }
-.ui-icon-triangle-1-sw { background-position: -80px -16px; }
-.ui-icon-triangle-1-w { background-position: -96px -16px; }
-.ui-icon-triangle-1-nw { background-position: -112px -16px; }
-.ui-icon-triangle-2-n-s { background-position: -128px -16px; }
-.ui-icon-triangle-2-e-w { background-position: -144px -16px; }
-.ui-icon-arrow-1-n { background-position: 0 -32px; }
-.ui-icon-arrow-1-ne { background-position: -16px -32px; }
-.ui-icon-arrow-1-e { background-position: -32px -32px; }
-.ui-icon-arrow-1-se { background-position: -48px -32px; }
-.ui-icon-arrow-1-s { background-position: -65px -32px; }
-.ui-icon-arrow-1-sw { background-position: -80px -32px; }
-.ui-icon-arrow-1-w { background-position: -96px -32px; }
-.ui-icon-arrow-1-nw { background-position: -112px -32px; }
-.ui-icon-arrow-2-n-s { background-position: -128px -32px; }
-.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
-.ui-icon-arrow-2-e-w { background-position: -160px -32px; }
-.ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
-.ui-icon-arrowstop-1-n { background-position: -192px -32px; }
-.ui-icon-arrowstop-1-e { background-position: -208px -32px; }
-.ui-icon-arrowstop-1-s { background-position: -224px -32px; }
-.ui-icon-arrowstop-1-w { background-position: -240px -32px; }
-.ui-icon-arrowthick-1-n { background-position: 1px -48px; }
-.ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
-.ui-icon-arrowthick-1-e { background-position: -32px -48px; }
-.ui-icon-arrowthick-1-se { background-position: -48px -48px; }
-.ui-icon-arrowthick-1-s { background-position: -64px -48px; }
-.ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
-.ui-icon-arrowthick-1-w { background-position: -96px -48px; }
-.ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
-.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
-.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
-.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
-.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
-.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
-.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
-.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
-.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
-.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
-.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
-.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
-.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
-.ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
-.ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
-.ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
-.ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
-.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
-.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
-.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
-.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
-.ui-icon-arrow-4 { background-position: 0 -80px; }
-.ui-icon-arrow-4-diag { background-position: -16px -80px; }
-.ui-icon-extlink { background-position: -32px -80px; }
-.ui-icon-newwin { background-position: -48px -80px; }
-.ui-icon-refresh { background-position: -64px -80px; }
-.ui-icon-shuffle { background-position: -80px -80px; }
-.ui-icon-transfer-e-w { background-position: -96px -80px; }
-.ui-icon-transferthick-e-w { background-position: -112px -80px; }
-.ui-icon-folder-collapsed { background-position: 0 -96px; }
-.ui-icon-folder-open { background-position: -16px -96px; }
-.ui-icon-document { background-position: -32px -96px; }
-.ui-icon-document-b { background-position: -48px -96px; }
-.ui-icon-note { background-position: -64px -96px; }
-.ui-icon-mail-closed { background-position: -80px -96px; }
-.ui-icon-mail-open { background-position: -96px -96px; }
-.ui-icon-suitcase { background-position: -112px -96px; }
-.ui-icon-comment { background-position: -128px -96px; }
-.ui-icon-person { background-position: -144px -96px; }
-.ui-icon-print { background-position: -160px -96px; }
-.ui-icon-trash { background-position: -176px -96px; }
-.ui-icon-locked { background-position: -192px -96px; }
-.ui-icon-unlocked { background-position: -208px -96px; }
-.ui-icon-bookmark { background-position: -224px -96px; }
-.ui-icon-tag { background-position: -240px -96px; }
-.ui-icon-home { background-position: 0 -112px; }
-.ui-icon-flag { background-position: -16px -112px; }
-.ui-icon-calendar { background-position: -32px -112px; }
-.ui-icon-cart { background-position: -48px -112px; }
-.ui-icon-pencil { background-position: -64px -112px; }
-.ui-icon-clock { background-position: -80px -112px; }
-.ui-icon-disk { background-position: -96px -112px; }
-.ui-icon-calculator { background-position: -112px -112px; }
-.ui-icon-zoomin { background-position: -128px -112px; }
-.ui-icon-zoomout { background-position: -144px -112px; }
-.ui-icon-search { background-position: -160px -112px; }
-.ui-icon-wrench { background-position: -176px -112px; }
-.ui-icon-gear { background-position: -192px -112px; }
-.ui-icon-heart { background-position: -208px -112px; }
-.ui-icon-star { background-position: -224px -112px; }
-.ui-icon-link { background-position: -240px -112px; }
-.ui-icon-cancel { background-position: 0 -128px; }
-.ui-icon-plus { background-position: -16px -128px; }
-.ui-icon-plusthick { background-position: -32px -128px; }
-.ui-icon-minus { background-position: -48px -128px; }
-.ui-icon-minusthick { background-position: -64px -128px; }
-.ui-icon-close { background-position: -80px -128px; }
-.ui-icon-closethick { background-position: -96px -128px; }
-.ui-icon-key { background-position: -112px -128px; }
-.ui-icon-lightbulb { background-position: -128px -128px; }
-.ui-icon-scissors { background-position: -144px -128px; }
-.ui-icon-clipboard { background-position: -160px -128px; }
-.ui-icon-copy { background-position: -176px -128px; }
-.ui-icon-contact { background-position: -192px -128px; }
-.ui-icon-image { background-position: -208px -128px; }
-.ui-icon-video { background-position: -224px -128px; }
-.ui-icon-script { background-position: -240px -128px; }
-.ui-icon-alert { background-position: 0 -144px; }
-.ui-icon-info { background-position: -16px -144px; }
-.ui-icon-notice { background-position: -32px -144px; }
-.ui-icon-help { background-position: -48px -144px; }
-.ui-icon-check { background-position: -64px -144px; }
-.ui-icon-bullet { background-position: -80px -144px; }
-.ui-icon-radio-on { background-position: -96px -144px; }
-.ui-icon-radio-off { background-position: -112px -144px; }
-.ui-icon-pin-w { background-position: -128px -144px; }
-.ui-icon-pin-s { background-position: -144px -144px; }
-.ui-icon-play { background-position: 0 -160px; }
-.ui-icon-pause { background-position: -16px -160px; }
-.ui-icon-seek-next { background-position: -32px -160px; }
-.ui-icon-seek-prev { background-position: -48px -160px; }
-.ui-icon-seek-end { background-position: -64px -160px; }
-.ui-icon-seek-start { background-position: -80px -160px; }
-/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
-.ui-icon-seek-first { background-position: -80px -160px; }
-.ui-icon-stop { background-position: -96px -160px; }
-.ui-icon-eject { background-position: -112px -160px; }
-.ui-icon-volume-off { background-position: -128px -160px; }
-.ui-icon-volume-on { background-position: -144px -160px; }
-.ui-icon-power { background-position: 0 -176px; }
-.ui-icon-signal-diag { background-position: -16px -176px; }
-.ui-icon-signal { background-position: -32px -176px; }
-.ui-icon-battery-0 { background-position: -48px -176px; }
-.ui-icon-battery-1 { background-position: -64px -176px; }
-.ui-icon-battery-2 { background-position: -80px -176px; }
-.ui-icon-battery-3 { background-position: -96px -176px; }
-.ui-icon-circle-plus { background-position: 0 -192px; }
-.ui-icon-circle-minus { background-position: -16px -192px; }
-.ui-icon-circle-close { background-position: -32px -192px; }
-.ui-icon-circle-triangle-e { background-position: -48px -192px; }
-.ui-icon-circle-triangle-s { background-position: -64px -192px; }
-.ui-icon-circle-triangle-w { background-position: -80px -192px; }
-.ui-icon-circle-triangle-n { background-position: -96px -192px; }
-.ui-icon-circle-arrow-e { background-position: -112px -192px; }
-.ui-icon-circle-arrow-s { background-position: -128px -192px; }
-.ui-icon-circle-arrow-w { background-position: -144px -192px; }
-.ui-icon-circle-arrow-n { background-position: -160px -192px; }
-.ui-icon-circle-zoomin { background-position: -176px -192px; }
-.ui-icon-circle-zoomout { background-position: -192px -192px; }
-.ui-icon-circle-check { background-position: -208px -192px; }
-.ui-icon-circlesmall-plus { background-position: 0 -208px; }
-.ui-icon-circlesmall-minus { background-position: -16px -208px; }
-.ui-icon-circlesmall-close { background-position: -32px -208px; }
-.ui-icon-squaresmall-plus { background-position: -48px -208px; }
-.ui-icon-squaresmall-minus { background-position: -64px -208px; }
-.ui-icon-squaresmall-close { background-position: -80px -208px; }
-.ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
-.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
-.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
-.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
-.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
-.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Corner radius */
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-left,
-.ui-corner-tl {
- border-top-left-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-top,
-.ui-corner-right,
-.ui-corner-tr {
- border-top-right-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-left,
-.ui-corner-bl {
- border-bottom-left-radius: 3px;
-}
-.ui-corner-all,
-.ui-corner-bottom,
-.ui-corner-right,
-.ui-corner-br {
- border-bottom-right-radius: 3px;
-}
-
-/* Overlays */
-.ui-widget-overlay {
- background: #aaaaaa;
- opacity: .3;
- filter: Alpha(Opacity=30); /* support: IE8 */
-}
-.ui-widget-shadow {
- -webkit-box-shadow: 0px 0px 5px #666666;
- box-shadow: 0px 0px 5px #666666;
-}
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.theme.min.css b/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.theme.min.css
deleted file mode 100644
index f99db91..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/jquery-ui.theme.min.css
+++ /dev/null
@@ -1,5 +0,0 @@
-/*! jQuery UI - v1.12.1 - 2018-03-18
-* http://jqueryui.com
-* Copyright jQuery Foundation and other contributors; Licensed MIT */
-
-.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666} \ No newline at end of file
diff --git a/javascript/vendor/jquery-ui-1.12.1.custom/package.json b/javascript/vendor/jquery-ui-1.12.1.custom/package.json
deleted file mode 100644
index e3c846e..0000000
--- a/javascript/vendor/jquery-ui-1.12.1.custom/package.json
+++ /dev/null
@@ -1,74 +0,0 @@
-{
- "name": "jquery-ui",
- "title": "jQuery UI",
- "description": "A curated set of user interface interactions, effects, widgets, and themes built on top of the jQuery JavaScript Library.",
- "version": "1.12.1",
- "homepage": "http://jqueryui.com",
- "author": {
- "name": "jQuery Foundation and other contributors",
- "url": "https://github.com/jquery/jquery-ui/blob/1.12.1/AUTHORS.txt"
- },
- "main": "ui/widget.js",
- "maintainers": [
- {
- "name": "Scott González",
- "email": "scott.gonzalez@gmail.com",
- "url": "http://scottgonzalez.com"
- },
- {
- "name": "Jörn Zaefferer",
- "email": "joern.zaefferer@gmail.com",
- "url": "http://bassistance.de"
- },
- {
- "name": "Mike Sherov",
- "email": "mike.sherov@gmail.com",
- "url": "http://mike.sherov.com"
- },
- {
- "name": "TJ VanToll",
- "email": "tj.vantoll@gmail.com",
- "url": "http://tjvantoll.com"
- },
- {
- "name": "Felix Nagel",
- "email": "info@felixnagel.com",
- "url": "http://www.felixnagel.com"
- },
- {
- "name": "Alex Schmitz",
- "email": "arschmitz@gmail.com",
- "url": "https://github.com/arschmitz"
- }
- ],
- "repository": {
- "type": "git",
- "url": "git://github.com/jquery/jquery-ui.git"
- },
- "bugs": "https://bugs.jqueryui.com/",
- "license": "MIT",
- "scripts": {
- "test": "grunt"
- },
- "dependencies": {},
- "devDependencies": {
- "commitplease": "2.3.0",
- "grunt": "0.4.5",
- "grunt-bowercopy": "1.2.4",
- "grunt-cli": "0.1.13",
- "grunt-compare-size": "0.4.0",
- "grunt-contrib-concat": "0.5.1",
- "grunt-contrib-csslint": "0.5.0",
- "grunt-contrib-jshint": "0.12.0",
- "grunt-contrib-qunit": "1.0.1",
- "grunt-contrib-requirejs": "0.4.4",
- "grunt-contrib-uglify": "0.11.1",
- "grunt-git-authors": "3.1.0",
- "grunt-html": "6.0.0",
- "grunt-jscs": "2.1.0",
- "load-grunt-tasks": "3.4.0",
- "rimraf": "2.5.1",
- "testswarm": "1.1.0"
- },
- "keywords": []
-}